Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud chcete pracovat s daty v databázi SQL Serveru pomocí příkazu SQL, který obsahuje parametry IN, můžete použít metodu executeQuery třídy SQLServerPreparedStatement k vrácení SQLServerResultSet , která bude obsahovat požadovaná data. Chcete-li to provést, musíte nejprve vytvořit SQLServerPreparedStatement objekt pomocí prepareStatement metody SQLServerConnection třídy.
Při vytváření příkazu SQL se parametry IN zadají pomocí příkazu ? (otazník), který funguje jako zástupný symbol pro hodnoty parametrů, které se později předají do příkazu SQL. Chcete-li zadat hodnotu parametru, můžete použít jednu z metod setter sqlServerPreparedStatement třídy. Metoda setter, kterou používáte, je určena datovým typem hodnoty, kterou chcete předat do příkazu SQL.
Když předáte hodnotu metodě setter, musíte zadat nejen skutečnou hodnotu, která se má použít v příkazu SQL, ale také pořadové umístění parametru v příkazu SQL. Pokud například příkaz SQL obsahuje jeden parametr, jeho pořadová hodnota bude 1. Pokud příkaz obsahuje dva parametry, první pořadová hodnota bude 1, zatímco druhá pořadová hodnota bude 2.
V následujícím příkladu se do funkce předá otevřené připojení k ukázkové databázi AdventureWorks2025, vytvoří se připravený příkaz SQL a spustí se s jednou hodnotou parametru String a výsledky se načtou ze sady výsledků.
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();
}
}