EDM: 1:n-Beziehung als Parent-Child-Ansicht

Eine der unter Access ganz einfach abzubildenden Hierarchien zweier Tabellen ist die 1:n-Beziehung in einem Haupt- und einem Unterformular. Auch unter WPF mit den Daten aus einem Entity Data Model lässt sich dies gut abbilden. Wir schauen uns in diesem Artikel an, wie es funktioniert und was Sie beim Anzeigen der Daten beachten müssen. Als Beispiel nutzen wir die Kategorien der Datenbank im Hauptfenster und die der aktuellen Kategorie zugeordneten Artikel in einer Listenansicht.

Weiterlesen

SQL Server: Datenbanken per Skript kopieren

Die Beispieldatenbanken auf Basis des SQL Servers sollen Sie schnell und unkompliziert auf Ihrem System nutzbar machen können. Leider geht das nicht immer so einfach – zum Beispiel, weil verschiedene Versionen des SQL Servers uns einen Strich durch die Rechnung machen. Also stellen wir in diesem Artikel eine einfache Lösung vor, wie Sie die Beispieldatenbanken nach dem Download schnell nutzen können – nämlich indem wir diese als Skript bereitstellen, das die komplette Definition der Datenbank sowie die enthaltenen Daten anlegt.

Weiterlesen

InputBox im Eigenbau

Wer von Access/VBA kommt, kann unter WPF die “MsgBox”-Anweisung leicht mit den Funktionen der Klasse “MessageBox” ersetzen. Allerdings sucht man vergeblich nach einem Pendant zur InputBox-Funktion, die ja ein einfaches Eingabefenster für die Eingabe eines Textes zur Verfügung stellt. Doch das ist kein Problem: Unter C#/WPF können Sie ja eigene Fenster erstellen. Warum dann nicht ein Fenster mit Titel, Text, Eingabefeld und OK/Abbrechen-Schaltflächen bauen und dieses bei Bedarf aufrufen

Weiterlesen

SQL Server-Interaktion mit dem Profiler verfolgen

Wenn Sie per ADO.NET, LINQ to Entities oder anderen Zugriffstechniken auf die Datenbank eines SQL Servers zugreifen, werden die von Ihnen programmierten Codezeilen meist im Hintergrund in SQL-Befehle umgewandelt. In vielen Fällen kann es interessant sein, was dort tatsächlich geschieht. Ein geeignetes Werkzeug ist der SQL Server Profiler, der zwar demnächst ausläuft, aber eine schnelle Möglichkeit der Nachverfolgung liefert.

Weiterlesen

LINQ to Entities: Daten bearbeiten

In den vorangegangenen Ausgaben von DATENBANKENTWICKLER haben Sie bereits erfahren, wie Sie per ADO.NET auf die Daten der Tabellen einer Datenbank zugreifen. Nun nutzen wir nicht mehr direkt ADO.NET, sondern das Entity Framework als Datenlieferant, welches eine ganz andere Art des Zugriffs ermöglicht. Dieser Artikel zeigt, wie Sie die per Entity Data Model bereitgestellten Daten mit LINQ to Entities ändern, löschen und neu anlegen.

Weiterlesen

WPF/EDM: Kundendetails

Wenn Sie aus einer Kundenübersicht die Details eines Kunden anzeigen oder einen neuen Kunden anlegen möchten, benötigen Sie ein geeignetes weiteres Fenster. Dieses soll die Daten des zu bearbeitenden Kundendatensatzes oder auch einen neuen, leeren Datensatz anzeigen – je nach Anforderung. Wie Sie dies auf Basis von Daten aus einem Entity Data Model erledigen, zeigt dieser Artikel.

Weiterlesen

Einführung in das Entity Framework

In vorherigen Beiträgen haben wir gezeigt, wie Sie Fenster und Steuerelemente wie das DataGrid mit den Daten aus einem ADO.NET-DataSet füllen können. Wenn Sie echte mehrschichtige Anwendungen bauen möchten, gehen Sie einen Schritt weiter und nutzen einen objektrelationalen Mapper, um die Daten aus den Tabellen in Objekten abzulegen, bevor Sie diese als Datenquelle für die Benutzeroberfläche nutzen. Der Clou eines solchen Mappers ist, dass es sich um ein Framework handelt – das heißt, dass Sie nur einen geringen Teil des notwendigen Codes selbst schreiben müssen. Dieser Artikel gibt eine kleine Einführung in das Entity Framework.

Weiterlesen

Bindung zwischen Steuerelementen

Unter VBA waren die Möglichkeiten der Datenbindung überschaubar: Formulare, Berichte und einige Steuerelemente wiesen entsprechende Eigenschaften auf, die an Tabellen, Abfragen oder auch Wertlisten oder Felder geknüpft werden konnten. Unter WPF und C# sieht es ganz anders aus. Hier stehen Objekte im Vordergrund. Dieser Artikel zeigt daher zunächst, wie Sie Elemente wie Steuerelemente an die Eigenschaften anderer Elemente binden.

Weiterlesen

ADO.NET: Typisierte und untypisierte DataSets

Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das heißt, dass Sie alle benötigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera übergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des später im Code verwendeten DataSets über einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie später direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen können.

Weiterlesen

Datenzugriff mit ADO.NET, Teil 2

Im ersten Teil unserer Artikelreihe zum Thema ADO.NET haben wir uns angesehen, wie Sie mit dem DataReader-Objekt auf die Daten einer Tabelle zugreifen und wie Sie mit dem Command-Objekt Aktionsabfragen durchführen können. Im vorliegenden Teil sehen wir uns an, wie Sie mit dem DataAdapter-Objekt auf die Daten einer Datenbank zugreifen und das DataSet- und das DataTable-Objekt einsetzen, um verbindungslos mit den Daten einer Datenbank zu arbeiten.

Weiterlesen