Mit dem SACommand-Objekt können Sie in einer SQL Anywhere-Datenbank eine SQL-Anweisung ausführen oder eine gespeicherte Prozedur aufrufen. Sie können eine der folgenden Methoden verwenden, um Daten aus der Datenbank abzurufen:
ExecuteReader Führt eine SQL-Abfrage aus, die eine Ergebnismenge zurückgibt. Diese Methode verwendet einen schreibgeschützten Cursor, der Daten nur für die Weitergabe ausliest. Sie können die Zeilen in der Ergebnismenge in einer Richtung durchsuchen.
ExecuteScalar Führt eine SQL-Abfrage aus, die einen einzelnen Wert zurückgibt. Dabei kann es sich um die erste Spalte in der ersten Zeile der Ergebnismenge oder um eine SQL-Anweisung handeln, die einen Aggregatwert wie COUNT oder AVG zurückgibt. Diese Methode verwendet einen schreibgeschützten Cursor, der Daten nur für die Weitergabe ausliest.
Wenn Sie das SACommand-Objekt verwenden, können Sie mithilfe des SADataReader-Objekts eine Ergebnismenge abrufen, die auf einem Join basiert. Änderungen (Einfügen, Aktualisieren oder Löschen) lassen sich jedoch nur an Daten vornehmen, die aus einer einzelnen Tabelle stammen. Sie können keine Ergebnismengen aktualisieren, die auf Joins basieren.
In der nachstehenden Anleitung wird das mit SQL Anywhere mitgelieferte Codebeispiel "Simple" herangezogen.
Weitere Hinweise zum Codebeispiel "Simple" finden Sie im Abschnitt Zum Verständnis des Beispielprojekts "Simple".
Deklarieren und initialisieren Sie ein SAConnection-Objekt.
SAConnection conn = new SAConnection( "Data Source=SQL Anywhere 12 Demo" ); |
Öffnen Sie die Verbindung.
conn.Open(); |
Fügen Sie ein SACommand-Objekt hinzu, um eine SQL-Anweisung zu definieren und auszuführen.
SACommand cmd = new SACommand( "SELECT Surname FROM Employees", conn ); |
Wenn Sie eine gespeicherte Prozedur aufrufen, müssen Sie die Parameter für die gespeicherte Prozedur angeben.
Weitere Hinweise finden Sie unter Gespeicherte Prozeduren verwenden und SAParameter-Klasse [SQL Anywhere .NET].
Rufen Sie die ExecuteReader-Methode auf, um das SADataReader-Objekt zurückzugeben.
SADataReader reader = cmd.ExecuteReader(); |
Zeigen Sie die Ergebnisse an.
listEmployees.BeginUpdate(); while ( reader.Read() ) { listEmployees.Items.Add( reader.GetString(0) ); } listEmployees.EndUpdate(); |
Schließen Sie das SADataReader- und das SAConnection-Objekt.
reader.Close(); conn.Close(); |
Deklarieren und initialisieren Sie ein SAConnection-Objekt.
SAConnection conn = new SAConnection( "Data Source=SQL Anywhere 12 Demo" ); |
Öffnen Sie die Verbindung.
conn.Open(); |
Fügen Sie ein SACommand-Objekt hinzu, um eine SQL-Anweisung zu definieren und auszuführen.
SACommand cmd = new SACommand( "SELECT COUNT(*) FROM Employees WHERE Sex = 'M'", conn ); |
Wenn Sie eine gespeicherte Prozedur aufrufen, müssen Sie die Parameter für die gespeicherte Prozedur angeben.
Rufen Sie die ExecuteScalar-Methode auf, um den skalaren Wert zurückzugeben.
int count = (int) cmd.ExecuteScalar(); |
Schließen Sie das SAConnection-Objekt.
conn.Close(); |
Wenn Sie das SADataReader-Objekt verwenden, stehen diverse Get-Methoden zur Verfügung, mit denen Sie die Ergebnisse im angegebenen Datentyp zurückgeben können.
Siehe SADataReader-Klasse [SQL Anywhere .NET].
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |