Datenbankprogrammierung

Objektvariablen

Die Objektvariable meineKontakte für die Liste ist, wie die Variablen connection, command und lesen, am Anfang der Formularklasse definiert. Die Instanzierung erfolgt im Instruktor (meineKontakte = gcnew List;). Beachten Sie auch hier, dass die Anweisung using namespace System::Collections::Generic; erforderlich ist, um den generischen Datentyp direkt verwenden zu können.

Ein SqlCommand-Objekt erhalten Sie als Rückgabewert der SqlConnection-Methode CreateCommand(). Das SqlCommand-Objekt besitzt die Eigenschaft CommandText, der Sie den erforderlichen SQLBefehl, hier eine SELECT-Abfrage, als String zuweisen.

Danach führen Sie den SQL-Befehl mit der Methode ExecuteReader() aus und weisen die Ergebnismenge der Datenbankabfrage der SqlDataReader-Variablen lesen zu. Anschließend fügen Sie der generischen Liste in einer while-Schleife Datensatz für Datensatz mit der Add()-Methode als neues Kontakt-Objekt hinzu.

Die Ausgangsposition des SqlDataReaders ist stets vor dem ersten Datensatz. Jeder Aufruf der Methode Read() setzt die Lesemarke auf den nächsten Datensatz. Die Methode gibt false zurück, wenn kein Datensatz mehr vorhanden ist. Die Klasse SqlDataReader stellt in Abhängigkeit vom Datentyp für den Zugriff auf die Spaltenwerte einer Tabelle verschiedene Methoden zur Verfügung. Die Methode GetString() ruft den Wert als Zeichenfolge ab.

Die Tabellenspalte wird dabei als Index - beginnend bei 0 - übergeben. Schließlich schreiben Sie die Daten des ersten Kontakt-Objekts in die dafür vorgesehenen Textfelder des Formulars.

Damit wären Sie mit der Arbeit am Code der Form1_Load()-Ereignismethode soweit fertig. Allerdings erscheint noch eine Ausnahmebehandlung angebracht, da eventuelle Fehler im Zusammenhang mit der Datenverbindung zu berücksichtigen sind. Dies tritt z.B. ein, wenn die angegebene Datenbankdatei aus irgendeinem Grunde nicht mehr existiert. Natürlich fangen Sie die spezielle Ausnahme SqlException, die im Zusammenhang mit SQL Server-Fehlern auftritt, vor der allgemeinen ab.

Suchfunktion implementieren

Dass der Benutzer navigieren, also sich den nächsten oder vorigen Kontakt anzeigen lassen kann, ist eher trivial. Dazu inkrementieren bzw. dekrementieren Sie einfach eine Zählvariable wie dsindex und benutzen diese als Index für das anzuzeigende Kontakt-Objekt. Der erste Kontakt besitzt den Index 0, der letzte den Index Kontakt::Anzahl - 1. Die Variable Anzahl ist in der Klasse Kontakt als static - und der Einfachheit halber auch als public - definiert. Sie gibt die Gesamtzahl der gespeicherten Kontakte wieder.

Schwieriger ist es schon, eine Suchfunktion einzurichten. Der Benutzer gibt in das untere Textfeld die Zeichenfolge ein, nach der er suchen will. Im nebenstehenden Listenfeld selektiert er das Suchkriterium - standardmäßig durchsucht das Programm die E-Mail-Adressen. Schließlich startet er die Suche über die Schaltfläche mit der Aufschrift Suchen. In deren Click-Ereignismethode ist daher der passende Code zu hinterlegen. Für die E-Mail-Suche sieht dieser im Wesentlichen wie folgt aus:

if (listBox1->SelectedIndex == -1 ||
listBox1->SelectedIndex == 2)
{ for each(Kontakt^ k in meineKontakte)
{ if(k->Email->
ToLower()->Contains(textBox3->
Text->ToLower()))
{// Daten dieses Kontakts anzeigen
// Indexvariable aktualisieren
break; }
}
}

Mehr zum Thema

HTML 5
Webgestaltung

Google Web Designer ist spezialisiert auf HTML5. Ein Vorteil dieses Standards ist das einfache Einbinden von Videos mit dem Element video. Wir zeigen…
Wir verraten, wie Sie Fritzboxen und andere Router vor Hackern schützen.
Fritzbox, Asus, Belkin und Co.

Fritzbox, Asus, Belkin oder DLink - die Liste der geknackten Router ist lang. Hacker stahlen Passwörter oder NAS-Daten. So machen Sie Ihren Router…
Wir führen Sie zur eigenen Windows-App - unserem PC-Magazin-RSS-Feed.
C# und XAML

Wir zeigen, wie Sie Windows 8.1 Apps selbst programmieren können. Lernen Sie das App erstellen an Hand unseres Beispiels: dem RSS-Feed von PC…
Windows Tipps & Tricks: Benutzerrechte unter Windows 8.1
Programme richtig installieren

Wir zeigen Ihnen, wie Sie sich unter Windows 8.1 alle Benutzerrechte verschaffen und Programme richtig installieren.
Windows 8: Starbildschirm
Microsoft Project Siena

Erstellen Sie sich selbst eine App für Windows 8, die auf alle Funktionen Ihres Tablets zugreifen kann, inklusive Kamera, Mikrofon und Lautsprecher.…