Datenbank in Universal Apps Datenbank in Universal Apps
Danke Danke:  0
Ergebnis 1 bis 5 von 5
  1. 10.10.2014, 15:31
    #1
    Als nur manchmal Programmierer, mache ich mir immer Anleitungen, wie ich das eine oder andere umsetzen kann. Leider scheint bei den Universal Apps fast nichts mehr zu funktionieren wie bisher.

    Habe schon einen Teil meiner "Anleitungen" aktualisiert hänge aber schon wieder fest beim Erstellen einer Datenbank.

    Ich hatte "gelernt" dass man heute seine Datenbank mit Linq macht.
    Scheitere mal wieder daran dass die Namensräume nicht mehr existieren und leider in VS auch kein Hinweis von Intellisense, was ja mal schön wäre :=)

    Zum Beispiel gibt es
    using System.Data.Linq;
    nicht mehr. Meine Vorlage basiert aber auf

    [FONT=&amp]using System.Data.Linq;[/FONT]
    [FONT=&amp]using System.Linq

    [/FONT]
    [FONT=Courier New]So gibt es dann auch keine Möglichkeit nach altem Schema eine Tabelle zu erstellen

    [/FONT]
    [FONT=&amp]using System.Data.Linq.Mapping;[/FONT]
    [FONT=&amp]using System.Linq;[/FONT]
    [FONT=&amp]using System;[/FONT]

    [FONT=&amp] [Table][/FONT]
    [FONT=&amp] public class TabellenName[/FONT]
    [FONT=Courier New]
    Ich stelle mich anscheinend eh schon immer grenzwertig blöd an
    Kann aber auch nach längerem Suchen nichts finden was mir weiterhilft.

    Wer schön, wenn mir jemand ein bisschen auf die Sprünge helfen kann.

    [/FONT]
    [FONT=Calibri]ZweiDatenbank Klassen anlegen[/FONT]
    [FONT=Calibri]Definitionder Datenbank selbst[/FONT]

    [FONT=&amp]using System.Data.Linq.Mapping;[/FONT]
    [FONT=&amp]using System.Linq;[/FONT]
    [FONT=&amp]using System;[/FONT]

    [FONT=&amp] [Table][/FONT]
    [FONT=&amp] public class TabellenName[/FONT]
    [FONT=Courier New] {[/FONT]
    [FONT=&amp] // Interne ID[/FONT]
    [FONT=&amp] [Column(IsPrimaryKey= true, AutoSync = AutoSync.OnInsert, DbType = "INT IDENTITY", IsDbGenerated = true)][/FONT]
    [FONT=&amp] public int ID{ get; set; }[/FONT]

    [FONT=&amp] // Name[/FONT]
    [FONT=&amp] [Column][/FONT]
    [FONT=&amp] public string Name { get; set; }[/FONT]

    [FONT=&amp] // Datum Uhrzeit[/FONT]
    [FONT=&amp] [Column(DbType= "Datetime")][/FONT]
    [FONT=&amp] public DateTime AngelegtDatum { get; set; } [/FONT]
    [FONT=Courier New] }[/FONT]

    [FONT=Calibri]DataContextfür den Zugriff auf die Datenbank[/FONT]

    [FONT=&amp]using System;[/FONT]
    [FONT=&amp]using System.Collections.Generic;[/FONT]
    [FONT=&amp]using System.Data.Linq;[/FONT]
    [FONT=&amp]using System.Linq;[/FONT]
    [FONT=&amp]using System.Text;[/FONT]
    [FONT=&amp]using System.Threading.Tasks;[/FONT]

    [FONT=&amp]namespace Programmname[/FONT]
    [FONT=Courier New]{[/FONT]
    [FONT=&amp] public class DatenbanknameContext : DataContext[/FONT]
    [FONT=Courier New] {[/FONT]
    [FONT=&amp] private const string ConnectionString = "DataSource=isostore:/DatenbankName.sdf";[/FONT]

    [FONT=&amp] public DatenbanknameContext() : base(ConnectionString) {}[/FONT]

    [FONT=&amp] // Tabelle Arbeitseinsätze[/FONT]
    [FONT=&amp] public Table<TabellenName> tabellenname;[/FONT]
    [FONT=Courier New] }[/FONT]
    [FONT=Courier New]}[/FONT]

    [FONT=Calibri]Initialisierender Datenbank in der App.xaml.cs[/FONT]
    [FONT=Calibri]Oberhalbvon [/FONT][FONT=Courier New]public[/FONT][FONT=Courier New] App()[/FONT]

    [FONT=&amp] // Datenbankinitialisieren[/FONT]
    [FONT=&amp] public static DatenbanknameContext DB;[/FONT]

    [FONT=Courier New]Unter [/FONT]
    [FONT=&amp]public App()[/FONT]
    [FONT=Courier New] {[/FONT]
    [FONT=&amp]// Globaler Handler für nicht abgefangeneAusnahmen.[/FONT]
    [FONT=Courier New]UnhandledException +=Application_UnhandledException;[/FONT]

    [FONT=&amp]// Standard-XAML-Initialisierung[/FONT]
    [FONT=Courier New] InitializeComponent();[/FONT]

    [FONT=&amp]// Phone-spezifische Initialisierung[/FONT]
    [FONT=Courier New] InitializePhoneApplication();[/FONT]


    [FONT=&amp] // Datenbank initialisieren[/FONT]
    [FONT=&amp] DB = new DatenbanknameContext();[/FONT]
    [FONT=&amp] if (!DB.DatabaseExists())[/FONT]
    [FONT=Courier New] {[/FONT]
    [FONT=Courier New] DB.CreateDatabase();[/FONT]
    [FONT=Courier New] }[/FONT]

    0
     

  2. 10.10.2014, 15:41
    #2
    LINQ2SQL hat mit dem SQL Server CE auf Windows Phone gearbeitet. Den gibt es aber nicht für die WinRT. Unter der WinRT (wie auch schon bei Windows 8) geht die Empfehlung aktuell in Richtung der Verwendung von SQLite.

    Es gibt aktuell zwei verschiedene Managed Zugriffsmodule auf SQLite, das eine stellt auch wieder ein LINQ-Interface zur Verfügung, das andere erlaubt dir direkt SQL-Statements abzusetzen. Letzteres bringt soweit mir bekannt die bessere Performance - v.a. von Interesse wenn man wirklich viele Statements absetzen muss oder sehr große Datenmengen lädt.

    Für sqlite-net (die Variante mit direkten Statements) findet sich ein gutes Tutorial hier: http://blog.tpcware.com/2014/05/univ...sqlite-part-2/

    PS: Wenn du eine Silverlight 8.1 App baust kannst du soweit mir bekannt ganz normal weiter LINQ2SQL nutzen.
    0
     

  3. 12.10.2014, 14:27
    #3
    OK, danke ich versuch mal mein Glück.
    Mal sehen was ich so hinbekomme
    0
     

  4. Zitat Zitat von StevieBallz Beitrag anzeigen
    Für sqlite-net (die Variante mit direkten Statements) findet sich ein gutes Tutorial hier: http://blog.tpcware.com/2014/05/univ...sqlite-part-2/
    Ich kann diese Komponente auf jeden Fall weiter empfehlen. Damit sind auch direkte SQL-Statements möglich und ich persönlich finde die Performance TOP!
    0
     

  5. 14.10.2014, 15:44
    #5
    Was ein zähes Ringen
    Habe heute (krampfhaft) ne Datenbank in der app.xaml.cs geladen (bzw. erstellt) und die Connection dann für die ganze App zur Verfügung gestellt.

    Nun dachte ich, noch ein bisschen gucken wie ich Felder gefüllt bekomme und es beschleicht mich das Gefühl das man dann jeden Zugriff selbst programmieren muss. Also nix mit Feld erstellen, DataBinding twoway drauflegen und gut.

    Ist das so? Muss ich alles was ich mit der Datenbank machen will mit SQL-Statements machen?
    Ist sicherlich ein konkreter Weg, wenn man sich auskennt, irgendwie vermisse ich Dataset und Tableadapter. Da ging vieles von allein und nur komplexeres musste dann selbst geschrieben werden.

    Wie macht man denn eine Relation zwischen zwei oder mehr Tabellen. In der Anleitung (s.o.) waren nur die ersten Schritte für eine Tabelle.

    Schien mir auch erst so einfach wie es in der Anleitung war:
    var query = App.connPeop.Table<User>();
    App.users = await query.ToListAsync();
    lstb_UserList.ItemsSource = App.users;
    um im Xaml
    <ListView x:Name="lstb_UserList" Margin="50,50,0,0" HorizontalAlignment="Left" Width="233">
    <ListView.ItemTemplate>
    <DataTemplate>
    <StackPanel Margin="10">
    <TextBlock Text="{Binding Name}" FontSize="30"/>
    <TextBlock Text="{Binding City}" />
    </StackPanel>
    </DataTemplate>
    </ListView.ItemTemplate>
    </ListView>
    und prima alle User werden in der Liste angezeigt.
    Nen Einzelnen Nutzer in einem Feld anzeigen, wollte mir bisher nicht gelingen.

    Ich verstehe nicht so recht warum es immer noch so kompliziert ist auf eine Datenbank zuzugreifen. War in Windows Form alles viel einfacher. Die Tabellen anlegen keine Tipparbeit, Relationen mit Drag&Drop, die meisten Zugriffe ohne eine Zeile Code vorhanden, SQL Abfragen mit klicken und nen bisschen schreiben und dem sofortigen Test der Abfrage im Editor usw.
    Sch... wenn man so selten Programmiert
    0
     

Ähnliche Themen

  1. Freunde aktualisieren in Facebook App
    Von Poidl im Forum Android Apps
    Antworten: 3
    Letzter Beitrag: 19.02.2011, 12:37
  2. Werbung in manchen Apps
    Von jaypack2k im Forum Android Apps
    Antworten: 12
    Letzter Beitrag: 07.12.2010, 12:01
  3. Antworten: 9
    Letzter Beitrag: 05.11.2010, 17:05
  4. Falsche Datumsanzeige in div. Apps nach FroYo
    Von Poidl im Forum HTC Desire Sonstiges
    Antworten: 7
    Letzter Beitrag: 16.08.2010, 14:36
  5. In /system/app verschieben
    Von Notronic im Forum HTC Desire Sonstiges
    Antworten: 6
    Letzter Beitrag: 23.05.2010, 01:09

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

system.data.linq windows 10 apps

universal app datenbank

universal app dataset

app feld datenbank

windows universal app database

linq universal app

sql datenbankdatei universal app dataset

windows 10 datenbank app

windows universal app datenbank