使用含參數的 SQL 陳述式
如需透過使用包含 IN 參數的 SQL 陳述式,以使用 SQL Server 資料庫中的資料,您可以使用 SQLServerPreparedStatement 類別的 executeQuery 方法,以傳回會包含所要求資料的 SQLServerResultSet。 若要這樣做,您必須先使用 SQLServerConnection 類別的 prepareStatement 方法建立 SQLServerPreparedStatement 物件。
當建構 SQL 陳述式時,請使用 ? (問號) 字元來指定 IN 參數,這個問號是作為預留位置,代表稍後將傳遞至 SQL 陳述式的參數值。 若要指定參數的值,您可以使用 SQLServerPreparedStatement 類別的其中一個 setter 方法。 您使用的 setter 方法,是由要傳遞至 SQL 陳述式的值資料類型所決定。
當您將值傳遞至 setter 方法時,您不但要指定用於 SQL 陳述式的實際值,也要指定 SQL 陳述式中參數的序數位置。 例如,當您的 SQL 陳述式包含單一參數時,其序數值將會是 1。 如果陳述式包含兩個參數,則第一個序數值為 1,而第二個序數值會是 2。
在下列範例中,AdventureWorks2022 範例資料庫的開啟連線會傳入函式中、建構 SQL 備妥的陳述式並使用單一 String 參數值執行,然後從結果集中讀取結果。
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();
}
}
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應