Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Um mit Daten in einer SQL Server-Datenbank mithilfe einer SQL-Anweisung zu arbeiten, die IN-Parameter enthält, können Sie die executeQuery-Methode der SQLServerPreparedStatement-Klasse verwenden. Diese Klasse gibt ein SQLServerResultSet zurück, das die angeforderten Daten enthält. Erstellen Sie zunächst ein SQLServerPreparedStatement-Objekt mithilfe der prepareStatement-Methode der SQLServerConnection-Klasse .
Wenn Sie Ihre SQL-Anweisung erstellen, werden die IN-Parameter mithilfe des ? (Fragezeichen)-Zeichens angegeben, das als Platzhalter für die Parameterwerte fungiert, die an die SQL-Anweisung übergeben werden. Verwenden Sie zum Angeben eines Werts für einen Parameter eine der Settermethoden der SQLServerPreparedStatement-Klasse. Der Datentyp des Werts, den Sie an die SQL-Anweisung übergeben, bestimmt die von Ihnen verwendete Settermethode.
Wenn Sie einen Wert an die Festlegungsmethode übergeben, müssen Sie nicht nur den Wert angeben, der in der SQL-Anweisung verwendet werden soll, sondern auch die ordinale Position des Parameters in der SQL-Anweisung. Wenn Ihre SQL-Anweisung z. B. einen einzelnen Parameter enthält, ist der Ordnungswert 1. Wenn die Anweisung zwei Parameter enthält, ist der erste Ordnungswert 1, während der zweite Ordnungswert 2 ist.
Im folgenden Beispiel wird eine offene Verbindung mit der AdventureWorks2025-Beispieldatenbank an die Funktion übergeben. Anschließend wird eine SQL-vorbereitete Anweisung erstellt und mit einem einzelnen Zeichenfolgenparameterwert ausgeführt. Dann werden die Ergebnisse aus dem Resultset gelesen.
public static void executeStatement(Connection con) {
try(PreparedStatement pstmt = con.prepareStatement("SELECT LastName, FirstName FROM Person.Contact WHERE LastName = ?");) {
pstmt.setString(1, "Smith");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("LastName") + ", " + rs.getString("FirstName"));
}
}
// Handle any errors that may have occurred.
catch (SQLException e) {
e.printStackTrace();
}
}
Siehe auch
Verwendung von Anweisungen mit SQLLeistung von Parametern der vorbereiteten Anweisungen