communityWir suchen ständig neue Tutorials und Artikel! Habt ihr selbst schonmal einen Artikel verfasst und seid bereit dieses Wissen mit der Community zu teilen? Oder würdet ihr gerne einmal über ein Thema schreiben das euch besonders auf dem Herzen liegt? Dann habt ihr nun die Gelegenheit eure Arbeit zu veröffentlichen und den Ruhm dafür zu ernten. Schreibt uns einfach eine Nachricht mit dem Betreff „Community Articles“ und helft mit das Angebot an guten Artikeln zu vergrößern. Als Autor werdet ihr für den internen Bereich freigeschaltet und könnt dort eurer literarischen Ader freien Lauf lassen.

Datenbankanwendungen mit Microsoft SQL Server Compact - Benutzeroberfläche Drucken E-Mail
Benutzerbewertung: / 142
SchwachPerfekt 
Samstag, den 12. September 2009 um 22:47 Uhr
Beitragsseiten
Datenbankanwendungen mit Microsoft SQL Server Compact
Datenbankentwurf
LINQ to SQL
Benutzeroberfläche
Alle Seiten

Benutzeroberfläche

Die Entwicklung kleiner Anwendungen, die mit einer Datenbank interagieren gestaltet sich in .NET mit den in diesem Artikel gezeigten Techniken außerordentlich einfach. Die eigentliche Aufgabe liegt neben dem Datenbankentwurf, in der Gestaltung der grafischen Benutzeroberflächen.

In der heutigen Zeit gibt es kaum noch Arbeitsplätze, die ohne Computer auskommen. Viele Aufgaben werden durch den Rechner automatisiert und helfen dabei effizienter zu arbeiten. Dennoch zeigt sich immer wieder, wie schwer es manchen fällt, ein neu eingeführtes Anwendungssystem zu bedienen. Die Gestaltung einer grafischen Benutzeroberfläche ist meist eine unterschätzte und oft schwierige Aufgabe. Unser kleines Geschäft soll unter anderen eine Oberfläche besitzen, mit dem der Nutzer neue Kunden in die Liste aufnehmen kann. Sie haben bereits im Abschnitt über DataSets erfahren, wie Sie eine Datenbindung direkt vom Designer vornehmen lassen können, um diese entweder in einem DataGridView oder einem Eingabefeld bearbeiten zu können.

Der Designer hilft Ihnen aber spätestens dann nicht mehr weiter, wenn Sie auf komplexere Art und Weise Daten auslesen und manipulieren wollen. An dieser Stelle bietet sich dann LINQ to SQL förmlich an. In LINQ to SQL wird das Datenmodell einer relationalen Datenbank einem Objektmodell zugeordnet, das in der Programmiersprache des Entwicklers ausgedrückt ist. Wenn Sie die Anwendung ausführen, übersetzt LINQ to SQL die sprachintegrierten Abfragen im Objektmodell in SQL und sendet sie zur Ausführung an die Datenbank. Wenn die Datenbank die Ergebnisse zurückgibt, übersetzt LINQ to SQL diese zurück in Objekte, die Sie mit Ihrer eigenen Programmiersprache bearbeiten können.

Auf der Benutzeroberfläche für neue Kunden befinden sich die üblichen Standardfelder, mit denen die Daten von Neukunden erfasst werden können. Das Formular wird über einen Button abgeschickt. In dem EventHandler des Buttons, wird der LINQ-Code untergebracht, nachdem einige kleine Integritätsprüfungen vorgenommen wurden.

private void buttonOk_Click(object sender, EventArgs e)
{
    // Add some checks here
    if (maskedTextBoxName.Text.Length < 3 || maskedTextBoxSurname.Text.Length < 3 ||
        maskedTextBoxCity.Text.Length < 3 || maskedTextBoxStreet.Text.Length < 3 ||
        maskedTextBoxPostal.Text.Length < 5 || maskedTextBoxNumber.Text.Length < 1) {
        return;
    }
 
    int tPlz = 0;
    short tHausnr = 0;
 
    try {
        tPlz = Convert.ToInt32(maskedTextBoxPostal.Text);
        tHausnr = Convert.ToInt16(maskedTextBoxNumber.Text);
    } catch (Exception ex) {
        MessageBox.Show(ex.Message);
        return; // Return from this function
    }
 
    string connString = global::Shop.Properties.Settings.Default.shopConnectionString;
 
    ShopDatabase db = new ShopDatabase(connString);
 
    // Create a new Kunden object
    Kunden kunden = new Kunden {
        Name = maskedTextBoxName.Text,
        Vorname = maskedTextBoxSurname.Text,
        PLZ = tPlz,
        Ort = maskedTextBoxCity.Text,
        Strasse = maskedTextBoxStreet.Text,
        Hausnr = tHausnr
    };
 
    db.Kunden.InsertOnSubmit(kunden);
 
    // Submit the change to the database
    try {
        db.SubmitChanges();
        // Close on success
        MessageBox.Show("Ein neuer Kunde wurde erfolgreich hinzugefügt.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
        this.Close();
    } catch (Exception ex) {
        MessageBox.Show(ex.Message);
    }
}

An dem Quellcode können Sie bereits erkennen, dass sich der Aufwand dank LINQ sehr in Grenzen hält. Noch mehr Ersparnis erzielt man allerdings bei umfangreicheren Benutzeroberflächen und Aufgaben. Wir haben uns auf CodePlanet entschieden am Ende dieses Artikels keine weiteren Bilder der fertigen Anwendung, mit all seinen Formularen und Eigenschaften, zu präsentieren. Stattdessen können Sie sich in dem folgenden kurzen Flash-Video die fertige Anwendung in Ruhe ansehen.

Schluss

In diesem Artikel haben Sie die vielschichtigen Möglichkeiten der SQL Server Compact-Datenbank von Microsoft kennengelernt. Mit ADO.NET und LINQ to SQL wurden dem Programmierer leistungsstarke Werkzeuge zur Verfügung gestellt, um die eigene Produktivität weiter zu erhöhen. Es liegt an Ihnen, diese Werkzeuge in Zukunft auch zu nutzen. Zum Abschluss finden Sie die Visual Studio Projektmappe in der Download-Rubrik.



Zuletzt aktualisiert am Freitag, den 14. Januar 2011 um 09:13 Uhr
 
AUSWAHLMENÜ