Menggunakan pernyataan SQL dengan parameter

Unduh driver JDBC

Untuk bekerja dengan data dalam database SQL Server dengan menggunakan pernyataan SQL yang berisi parameter IN, Anda dapat menggunakan metode executeQuery dari kelas SQLServerPreparedStatement untuk mengembalikan SQLServerResultSet yang akan berisi data yang diminta. Untuk melakukan ini, Anda harus terlebih dahulu membuat objek SQLServerPreparedStatement dengan menggunakan metode prepareStatement dari kelas SQLServerConnection .

Saat Anda membuat pernyataan SQL Anda, parameter IN ditentukan dengan menggunakan ? karakter (tanda tanya), yang bertindak sebagai tempat penampung untuk nilai parameter yang nantinya akan diteruskan ke dalam pernyataan SQL. Untuk menentukan nilai untuk parameter, Anda dapat menggunakan salah satu metode setter dari kelas SQLServerPreparedStatement. Metode setter yang Anda gunakan ditentukan oleh jenis data nilai yang ingin Anda teruskan ke pernyataan SQL.

Ketika Anda meneruskan nilai ke metode setter, Anda harus menentukan tidak hanya nilai aktual yang akan digunakan dalam pernyataan SQL, tetapi juga penempatan ordinal parameter dalam pernyataan SQL. Misalnya, jika pernyataan SQL Anda berisi satu parameter, nilai ordinalnya adalah 1. Jika pernyataan berisi dua parameter, nilai ordinal pertama akan menjadi 1, sedangkan nilai ordinal kedua akan menjadi 2.

Dalam contoh berikut, koneksi terbuka ke database sampel AdventureWorks2022 diteruskan ke fungsi, pernyataan yang disiapkan SQL dibangun dan dijalankan dengan satu nilai parameter String, lalu hasilnya dibaca dari kumpulan hasil.

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();
    }
}

Lihat juga

Menggunakan pernyataan dengan SQL