pearl.de Bestseller NEU Beratungsvideo Schnäppchen Ausgezeichnet bewertet Pressestimmen Günstig beiwww.pearl.de onlne einkaufen

ExecuteReader()

Den so konstruierten SQL-Befehl schicken Sie mit command-> ExecuteNonQuery(); des SqlCommand-Objekts ab. Während die ExecuteReader()-Methode für SELECT-Abfragen verwendet wird und passend dazu ein SqlDataReader-Objekt zurückliefert, verwenden Sie für UPDATE-, INSERT- und DELETEBefehle die Methode ExecuteNonQuery(), welche die Anzahl der betroffenen Datensätze zurückgibt.

Da es sich hier jedoch stets um nur einen handelt, machen Sie von dieser Information keinen Gebrauch. Anschließend sollten Sie dem Benutzer noch mitteilen, dass der Datensatz gespeichert wurde.

Da der neue Kontakt sowohl in der Datenbank als auch in der Liste am Ende eingefügt wird, empfiehlt es sich außerdem, den Index entsprechend zu aktualisieren (dsindex = Kontakt::Anzahl - 1;). Auch wenn ein Kontakt gelöscht werden soll (Schaltfläche Löschen), müssen Sie diesen aus der Datenbank und der Liste entfernen. Dazu durchlaufen Sie in einer for each-Schleife die komplette Liste, wobei Sie prüfen, ob die E-Mail-Adresse, die aktuell im Textfeld steht, überhaupt gespeichert ist.

Nur wenn die Bedingung k-> Email == text-Box2-> Text zutrifft, löschen Sie das Element und zwar zuerst aus der Liste. Dazu verwenden Sie die Methode Remove(), deren booleschen Rückgabewert Sie erneut überprüfen. Der Wert true bedeutet, dass das Element in der Liste vorhanden war und entfernt werden konnte: if(meineKontakte->Remove(k) == true). Nur unter dieser Voraussetzung löschen Sie den entsprechenden Datensatz aus der SQL-Datenbank und melden dies entsprechend:

Codebeispiel:

Unbedingt notwendig ist es jetzt noch, ie Variable Anzahl um Eins zu verringernd (Kontakt::Anzahl--;). Ansonsten könnte beim Navigieren zwischen den Kontakten ein ungültiger Objektzugriff erfolgen. Vielleicht werden Sie sich jetzt fragen, warum es beim Hinzufügen eines neuen Kontaktes nicht notwendig war, die Variable Anzahl zu erhöhen.

Die Antwort lautet: Sie sparen die Arbeit, weil die Klasse Kontakt so eingerichtet ist, dass dies automatisch in den Konstruktoren erfolgt. Im .NET Framework kann der Destruktor jedoch für ähnliche Zwecke – eine Variable, welche die Gesamtzahl von Objekten wiedergibt, zu dekrementieren – nicht verwendet werden. Denn der Destruktor arbeitet unter der Regie des Garbage Collectors in der Regel zeitversetzt.

Heft-DVD

Die Heft-DVD (PC Magazin 11/2009) enthält das Projekt Kontaktverwaltung mit der SQL-Datenbank. Diese besteht aus der Datei Kontakte.mdf und der Log-Datei Kontakte_log.LDF. Die Datenbank enthält bereits drei Dummy-Kontakte, um die Funktionalität des Programms sofort testen zu können. Beachten Sie bitte im Text, wie Sie im Beispielcode die Verbindungszeichenfolge zur Datenbank anpassen.

Außerdem finden Sie auf der Heft-DVD den Beitrag der letzten Ausgabe als PDF-Dokument. Dieser Artikel zeigt, wie Sie in Visual Studio bzw. in der Visual C++ 2008 Express Edition eine SQL-Datenbank erstellen. Die Visual C++ 2008 Express Edition beziehen Sie kostenlos über: www.microsoft.com



Inhaltsverzeichnis


Günstig bei www.pearl.de online einkaufen
Meistgelesen
1. Alles auf Anfang

Zehn Jahre nach ihrem letzten Kinoauftritt kehren J und K zurück. Um der Story einen besonderen Kick zu verleihen, kamen die Macher auf eine…

2. In Bewegung - Adobe Photoshop Lightroom 4

Als schnelle Bildverwaltung mit effizienten Bearbeitungswerkzeugen hat sich Lightroom unter Profis einen Namen gemacht.

3. Spieletest: "Diablo 3"

Teufelsaustreibung 3.0: Nach holprigem Start läuft "Diablo 3" zu alter Stärke auf - trotz zahlreicher Neuerungen, die bei Fans der…

4. Toshiba Satellite R850 im Test

Toshiba hat sich bei den neuen Modellen der Satellite-Baureihe von der bisherigen Klavierlackoptik verabschiedet. Das Satellite R850 ähnelt in der Optik…


Kleines Spiel für zwischendurch

Bildergalerien
7 Geschenkideen, die am Anfang Ihrer Beziehung schaden könnten Mobiles Fernsehen MP3-Player Portable DVD-Player

Bilder-Suche

Top 5 Downloads
1
Recuva

Version: 1.42.544
Lizenz: Freeware
Betriebssystem: Windows

2
Win7codecs

Version: 3.6.2
Lizenz: Freeware
Betriebssystem: Windows

3
OnlineTV

Version: 6.2.0.2
Lizenz: Freeware
Betriebssystem: Windows

4
CCleaner

Version: 3.18.1707
Lizenz: Freeware
Betriebssystem: Windows

5
Firefox

Version: 13.0 Beta 4
Lizenz: Open Source
Betriebssystem: WindowsLinuxMac

Download-Suche