共用方式為


搭配參數使用 SQL 語句

下載 JDBC 驅動程式

若要使用包含 IN 參數的 SQL 語句來處理 SQL Server 資料庫中的資料,您可以使用 SQLServerPreparedStatement 類別的 executeQuery 方法。 此類別回傳包含請求資料的 SQLServerResultSet 。 首先,使用 SQLServerConnection 類別中的 prepareStatement 方法建立一個 SQLServerPreparedStatement 物件。

當你構建 SQL 語句時,IN 參數會用 ? (問號)字元指定,這個字元作為參數值的佔位符,這些參數會傳入 SQL 語句。 要指定參數值,請使用 SQLServerPreparedStatement 類別中的設定器方法之一。 你傳遞到 SQL 語句中的值的型態決定了你使用的設定器方法。

當您將值傳遞至 setter 方法時,您不但要指定用於 SQL 陳述式的實際值,也要指定 SQL 陳述式中參數的序數位置。 例如,如果你的 SQL 陳述句包含單一參數,其序數值為 1。 若陳述包含兩個參數,第一個序數值為 1,第二個序數值為 2。

在以下範例中,將一個開啟連接到 AdventureWorks2025 範例資料庫的連線傳遞到函式中。 接著會建構並執行一個 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();
    }
}

另請參閱

使用 SQL 語句預備語句參數效能