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.
Weitere Hinweise finden Sie unter ExecuteReader-Methode.
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.
Weitere Hinweise finden Sie unter ExecuteScalar-Methode.
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" verwendet.
Weitere Hinweise zum Codebeispiel "Simple" finden Sie im Abschnitt Zum Verständnis des Beispielprojekts "Simple".
Deklarieren und initialisieren Sie ein Connection-Objekt.
SAConnection conn = new SAConnection( "Data Source=SQL Anywhere 12 Demo" ); |
Öffnen Sie die Verbindung.
try { conn.Open(); |
Fügen Sie ein Command-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.
Rufen Sie die ExecuteReader-Methode auf, um das DataReader-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 die DataReader- und Connection-Objekte.
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.
Weitere Hinweise finden Sie unter Gespeicherte Prozeduren verwenden.
Rufen Sie die ExecuteScalar-Methode auf, um das Objekt zurückzugeben, das den Wert enthält.
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.
Weitere Hinweise finden Sie unter SADataReader-Klasse.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |