Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort zur 5. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Klassendesign
4 Vererbung, Polymorphie und Interfaces
5 Delegates und Ereignisse
6 Weitere .NET-Datentypen
7 Weitere Möglichkeiten von C#
8 Auflistungsklassen (Collections)
9 Fehlerbehandlung und Debugging
10 LINQ to Objects
11 Multithreading und die Task Parallel Library (TPL)
12 Arbeiten mit Dateien und Streams
13 Binäre Serialisierung
14 Einige wichtige .NET-Klassen
15 Projektmanagement und Visual Studio 2010
16 XML
17 WPF – Die Grundlagen
18 WPF-Containerelemente
19 WPF-Steuerelemente
20 Konzepte der WPF
21 Datenbindung
22 2D-Grafik
23 ADO.NET – verbindungsorientierte Objekte
24 ADO.NET – Das Command-Objekt
25 ADO.NET – Der SqlDataAdapter
26 ADO.NET – Daten im lokalen Speicher
27 ADO.NET – Aktualisieren der Datenbank
28 Stark typisierte DataSets
29 LINQ to SQL
30 Weitergabe von Anwendungen
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual C# 2010 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2010

Visual C# 2010
geb., mit DVD
1295 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1552-7
Pfeil 24 ADO.NET – Das Command-Objekt
Pfeil 24.1 Das »SqlCommand«-Objekt
Pfeil 24.1.1 Erzeugen eines »SqlCommand«-Objekts
Pfeil 24.1.2 Die Methode »CreateCommand« des »Connection«-Objekts
Pfeil 24.1.3 Ausführen des »SqlCommand«-Objekts
Pfeil 24.1.4 Die Eigenschaft »CommandTimeout« des »SqlCommand«-Objekts
Pfeil 24.2 Aktionsabfragen absetzen
Pfeil 24.2.1 Datensätze hinzufügen
Pfeil 24.2.2 Datensätze löschen
Pfeil 24.2.3 Datensätze ändern
Pfeil 24.2.4 Abfragen, die genau ein Ergebnis liefern
Pfeil 24.3 Das »SqlDataReader«-Objekt
Pfeil 24.3.1 Datensätze einlesen
Pfeil 24.3.2 Schließen des »SqlDataReader«-Objekts
Pfeil 24.3.3 MARS (Multiple Active Resultsets)
Pfeil 24.3.4 Batch-Abfragen mit »NextResult« durchlaufen
Pfeil 24.3.5 Schema eines »SqlDataReader«-Objekts untersuchen
Pfeil 24.4 Parametrisierte Abfragen
Pfeil 24.4.1 Parametrisierte Abfragen mit dem SqlClient-Datenprovider
Pfeil 24.4.2 Die Klasse »SqlParameter«
Pfeil 24.4.3 Asynchrone Abfragen
Pfeil 24.4.4 Gespeicherte Prozeduren (Stored Procedures)


Galileo Computing - Zum Seitenanfang

24.2 Aktionsabfragen absetzen Zur nächsten ÜberschriftZur vorigen Überschrift

Abfragen, die Änderungen an den Originaldaten der Datenbank nach sich ziehen (UPDATE, DELETE INSERT) oder die Struktur einer Datenbank verändern (CREATE TABLE), werden mit der Methode ExecuteNonQuery abgesetzt.

Handelt es sich bei dem Befehl um ein UPDATE-, INSERT- oder DELETE-Kommando, können Sie über den Rückgabewert die Anzahl der von der Anweisung betroffenen Datenzeilen feststellen.


Galileo Computing - Zum Seitenanfang

24.2.1 Datensätze hinzufügen Zur nächsten ÜberschriftZur vorigen Überschrift

Im folgenden Beispielprogramm wird der Tabelle Products ein Datensatz hinzugefügt. Dabei wird der parametrisierte Konstruktor der Klasse SqlCommand verwendet, der im ersten Parameter den SQL-Befehl und im zweiten die Referenz auf das SqlConnection-Objekt entgegennimmt.


// ------------------------------------------------------------------
// Beispiel: ...\Kapitel 24\DatensätzeHinzufügen
// ------------------------------------------------------------------
SqlConnection con = new SqlConnection("...");
// SQL-Befehl
string strSQL =
       "INSERT INTO Products(ProductName, Discontinued) " +
       "VALUES('Schweizer Käse',0)";
try {
  con.Open();
  SqlCommand cmd = new SqlCommand(strSQL, con); 
  // Kommando absetzen      
  cmd.ExecuteNonQuery();
}
catch (Exception e) {
  Console.WriteLine("Fehlermeldung: {0}", e.Message);
}
con.Close();


Galileo Computing - Zum Seitenanfang

24.2.2 Datensätze löschen Zur nächsten ÜberschriftZur vorigen Überschrift

Der Datensatz aus dem vorhergehenden Beispiel soll nun wieder gelöscht werden. Da wir nun daran interessiert sind, ob und wie viele Datenzeilen von einer Löschanweisung betroffen sind, werten wir den Rückgabewert der Methode ExecuteNonQuery an der Konsole aus.


// ------------------------------------------------------------------
// Beispiel: ...\Kapitel 24\DatensätzeLöschen
// ------------------------------------------------------------------
SqlConnection con = new SqlConnection("...");
try {
  con.Open();
  string strSQL = "DELETE FROM Products " +
                  "WHERE ProductName='Schweizer Käse'";
  SqlCommand cmd = new SqlCommand(strSQL, con);
  Console.Write("Anzahl der gelöschten Datensätze = ");
  Console.WriteLine(cmd.ExecuteNonQuery());
}
catch (Exception e) {
  Console.WriteLine("Fehlermeldung: {0}", e.Message);
}
con.Close();

Nach dem ersten Start des Programms wird der im Abschnitt zuvor hinzugefügte Datensatz gelöscht. An der Konsole sehen wir das bestätigt, da die Zahl 1 ausgegeben wird. Rufen wir das Programm ein zweites Mal auf, wird kein Datensatz gefunden, der dem Kriterium ProductName='Schweizer Käse' entspricht. Das spiegelt sich in der Ausgabe

Die Anzahl der gelöschten Datensätze = 0

wider.


Galileo Computing - Zum Seitenanfang

24.2.3 Datensätze ändern Zur nächsten ÜberschriftZur vorigen Überschrift

Zu Beginn dieses Abschnitts wurde in dem Beispiel ExecuteNonQueryDemo bereits gezeigt, wie Sie Datensätze in der Datenbank editieren können. Daher soll an dieser Stelle auf ein weiteres Beispiel verzichtet werden.


Galileo Computing - Zum Seitenanfang

24.2.4 Abfragen, die genau ein Ergebnis liefern topZur vorigen Überschrift

Mit der SELECT-Anweisung können Sie eine Datensatzliste nach bestimmten Auswahlkriterien aus einer Datenbank abrufen. Der Befehl SELECT wird aber auch dann benutzt, wenn eine Aggregatfunktion definiert werden soll. Aggregatfunktionen liefern ein Ergebnis zurück. Beispielsweise können Sie mit


SELECT COUNT(*) FROM Products

die Anzahl der Artikel in der Tabelle Products ermitteln und mit


SELECT COUNT(*) FROM Products WHERE CategoryID = 1

feststellen, wie viele Artikel zur Kategorie 1 gehören. Neben COUNT stehen noch weitere Aggregatfunktionen zur Verfügung: SUM, um die Summe eines numerischen Ausdrucks zu ermitteln, AVG, um einen Durchschnittswert zu bilden, sowie MIN und MAX, um aus einem gegebenen Ausdruck den Maximal- bzw. Minimalwert zu erhalten.

Um den Rückgabewert einer Aggregatfunktion entgegenzunehmen, rufen Sie die Methode ExecuteScalar auf das SqlCommand-Objekt auf. Der Typ der Rückgabe ist Object, daher muss das Ergebnis noch in den passenden Datentyp konvertiert werden.


string textSQL = "SELECT COUNT(*) FROM Products WHERE CategoryID=1";
SqlCommand cmd = new SqlCommand(textSQL, con);
int anzahlDS = Convert.ToInt32(cmd.ExecuteScalar());



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Visual C# 2010

Visual C# 2010
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


Zum Katalog: C/C++






 C/C++


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2010
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern