Excel-Export mit Spreadsheet Light

Das Thema Reporting haben wir im DATENBANKENTWICKLER noch gar nicht behandelt. Das liegt auch daran, dass es unter C#/WPF keine so einfach einsetzbare Reporting-Funktion wie etwa die Berichte und Access gibt. Also wollen wir uns einmal verschiedene Möglichkeiten ansehen, um die Daten einer Datenbank aus einer C#-Anwendung zu exportieren, um diese etwa in einer anderen Anwendung zu öffnen und auszudrucken. Den Start machen wir mit Microsoft Excel.

Weiterlesen

Basics: ObservableCollection

Unter WPF gibt es einige Mechanismen, welche die Bindung der Steuerelemente an die zugrunde liegenden Daten in einem gewissen Rahmen automatisieren. Diese werden durch die Programmierung bestimmt – entweder durch die Verwendung bestimmter Schnittstellen für Eigenschaften oder auch durch entsprechende Auflistungstypen, die dann als Datenquelle etwa für Listen-Elemente verwendet werden. Mit der PropertyChanged-Schnittstelle haben wir schon die Synchronisierung zwischen den Attributen der XAML-Definition und Eigenschaften in den Code-Klassen besprochen (siehe Artikel “Basics: PropertyChanged”). In diesem Artikel schauen wir uns nun den Auflistungstyp ObservableCollection an.

Weiterlesen

Entity Framework: SQLite verknüpfen

In den letzten Artikel haben wir oft die SQLite-Datenbank als Beispieldatenbank verwendet. Nun kann es allerdings durch einen falschen Connection-String oder eine verschobene, gelöschte oder leere Datenbank dazu kommen, dass die Anwendung nicht über das Entity Framework auf die Datenbank zugreifen kann. Dieser Artikel beschreibt einige Szenarien, in denen das der Fall ist und zeigt, wie Sie beim Start der Anwendung prüfen können, ob die Quell-Datenbank erreichbar ist und diese gegebenenfalls neu auswählen.

Weiterlesen

Weitergabe von WPF/C#/SQLite-Anwendungen

Die bisher bekannte Methode im Rahmen der Entwicklung von Anwendung in diesem Magazin war das Kopieren des bin/debug-Verzeichnisses auf den Zielrechner. In dieser Ausgabe wollen wir uns nun ansehen, wie Sie Anwendungen mit den Bordmitteln von Visual Studio 2015 in der Community-Edition weitergeben können. Die Möglichkeiten sind beschränkt, aber für die meisten Fälle durchaus ausreichend.

Weiterlesen

Datumsfunktionen

Ohne Datumsfunktionen kommt man in keiner Programmiersprache aus. Das ist unter C# natürlich nicht anders. Wer allerdings von Access/VBA kommt, muss sich ein wenig umstellen: Einzelne Funktionen wie Date() oder Time(), mit denen Sie beispielsweise das aktuelle Datum oder die aktuelle Uhrzeit ermittelt haben, suchen Sie hier vergeblich. Stattdessen nutzen Sie verschiedene Eigenschaften des Objekts DateTime. Der vorliegende Artikel zeigt die wichtigsten Elemente der C#-Programmiersprache zum Thema Datum und erläutert, wie das Datum hier im Hintergrund behandelt wird.

Weiterlesen

Webservice testen am Beispiel von DHL

Wer einen Webshop betreibt, kennt sich zumindest mit den Webseiten des einen oder anderen Paketdienstes aus. Dabei gibt es beim Erstellen von Versandetiketten für Pakete verschiedene Stufen der Automatisierung. Wir wollen zur Stufe der höchsten Automatisierung gelangen und unsere Daten für den Versand direkt an den Webservice eines Anbieters, in diesem Fall DHL, weiterleiten und die erstellten Versandetiketten in druckbarer Form herunterladen. Dazu erfahren Sie in diesem Artikel, wie Sie einen Webservice mithilfe des Tools SoapUI testen.

Weiterlesen

EDM: Bestellungen und Bestellpositionen

Auch in dieser Ausgabe geht es mit unserer Beispiellösung Bestellverwaltung weiter. Nachdem wir bereits Kunden, Produkte und Kategorien verwalten können, nehmen wir uns nun die Bestellungen und Bestellpositionen vor. Dabei brauchen wir ein paar neue Seiten, um die Details einer Bestellung mit den Bestellpositionen und die Details einer neuen oder zu bearbeitenden Bestellposition anzuzeigen. Damit werden wir erstmal die Bearbeitung von Daten einer m:n-Beziehung ermöglichen.

Weiterlesen

Anwendung von SQL Server zu SQLite wechseln

Die aktuelle Beispieldatenbank zu diesem Magazin namens Bestellverwaltung verwendet bisher eine SQL Server-Datenbank gleichen Namens als Datenbank. Nun wollen wir für kommende Beispiele auf SQLite als Datenbanksystem wechsen, da es schlanker und für Beispiele perfekt geeignet ist. In diesem Zuge macht es Sinn, einmal zu betrachten, wie Sie das Entity Data Model für Ihre Datenbankanwendung wechseln und die Anwendung anschließend wie zuvor weiter verwenden können.

Weiterlesen

Bestellverwaltung planen

Unsere Bestellverwaltung wächst weiter. Wir haben bereits eine Übersicht der Kunden und eine Detailansicht, mit der Sie Kunden anzeigen oder neue Kunden anlegen können. Nun sollen noch Übersichten und Detailansichten für Produkte, Kategorien und weitere Elemente hinzukommen. Hier sind nun einige grundsätzliche Entscheidungen bezüglich des Aufbaus der Anwendung zu treffen – zum Beispiel, wie das Ribbon erweitert werden soll oder wie nach dem Ändern oder Anlegen neuer Datensätze verfahren werden soll. Außerdem wollen wir bei der Verwaltung der Kunden noch ein paar Anpassungen durchführen, bevor wir die übrigen Ansichten nach einem ähnlichen Schema aufbauen.

Weiterlesen

EDM: 1:n-Beziehungen mit DataGrid

Unter Access haben wir 1:n-Beziehungen einfach in einem Haupt- und einem Unterformular abgebildet, wobei wir beiden einfach die Datenquellen und gebundenen Steuerelemente zugewiesen haben – den Rest hat Access automatisch erledigt. Unter C# und WPF ist das ein wenig mehr Arbeit, aber nach der Lektüre dieses Artikels haben Sie das Wissen, das für die Anzeige zweier per 1:n-Beziehung verknüpfter Tabellen in einem Fenster beziehungsweise einer Seite und einem DataGrid als Unterformular-Ersatz nötig ist.

Weiterlesen