Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para trabalhar com dados em um banco de dados do SQL Server usando uma instrução SQL que contém parâmetros IN, você pode usar o método executeQuery da classe SQLServerPreparedStatement . Essa classe retorna um SQLServerResultSet que contém os dados solicitados. Primeiro, crie um objeto SQLServerPreparedStatement usando o método prepareStatement da classe SQLServerConnection .
Quando você constrói sua instrução SQL, os parâmetros IN são especificados usando o ? caractere (ponto de interrogação), que atua como um espaço reservado para os valores de parâmetro que são passados para a instrução SQL. Para especificar um valor para um parâmetro, use um dos métodos setter da classe SQLServerPreparedStatement. O tipo de dados do valor que você passa para a instrução SQL determina o método setter que você usa.
Ao passar um valor para o método setter, você deve especificar não somente o valor real a ser usado na instrução SQL, mas também o posicionamento ordinal do parâmetro na instrução SQL. Por exemplo, se a instrução SQL contiver um único parâmetro, seu valor ordinal será 1. Se a instrução contiver dois parâmetros, o primeiro valor ordinal será 1, enquanto o segundo valor ordinal será 2.
No exemplo a seguir, uma conexão aberta com o banco de dados de exemplo AdventureWorks2025 é passada para a função. Em seguida, uma instrução preparada para SQL é construída e executada com um único valor de parâmetro String. Em seguida, os resultados são lidos do conjunto de resultados.
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();
}
}
Confira também
Usando instruções com SQLDesempenho do parâmetro em declaração preparada