Sdílet prostřednictvím


Použití příkazu SQL s parametry

Stáhnout ovladač JDBC

Chcete-li pracovat s daty v databázi SQL Serveru pomocí příkazu SQL, který obsahuje parametry IN, můžete použít executeQuery metoda SQLServerPreparedStatement třídy. Tato třída vrátí SQLServerResultSet obsahující požadovaná data. Nejprve vytvořte sqlServerPreparedStatement objekt pomocí prepareStatement metoda SQLServerConnection třídy.

Při vytváření příkazu SQL se parametry IN zadají pomocí znaku ? (otazníku), který slouží jako zástupný symbol pro hodnoty parametrů předávané do příkazu SQL. Chcete-li zadat hodnotu parametru, použijte jednu z metod setter sqlServerPreparedStatement třídy. Datový typ hodnoty, kterou předáte do příkazu SQL, určuje metodu setter, kterou používáte.

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 je 1. Pokud příkaz obsahuje dva parametry, první pořadová hodnota je 1, zatímco druhá pořadová hodnota je 2.

V následujícím příkladu se do funkce předá otevřené připojení k ukázkové databázi AdventureWorks2025. Pak se vytvoří připravený příkaz SQL a spustí se s jednou hodnotou parametru String. Výsledky se pak 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();
    }
}

Viz také

Použití příkazů SQLVýkon parametrů připravených příkazů