Dela via


Använda en SQL-instruktion med parametrar

Ladda ned JDBC-drivrutin

Om du vill arbeta med data i en SQL Server-databas med hjälp av en SQL-instruktion som innehåller IN-parametrar kan du använda metoden executeQuery i klassen SQLServerPreparedStatement för att returnera en SQLServerResultSet som innehåller begärda data. För att göra detta måste du först skapa ett SQLServerPreparedStatement-objekt med hjälp av metoden prepareStatement för KLASSEN SQLServerConnection .

När du skapar SQL-instruktionen anges IN-parametrarna med hjälp av ? (frågetecken) som fungerar som platshållare för de parametervärden som senare skickas till SQL-instruktionen. Om du vill ange ett värde för en parameter kan du använda någon av setter-metoderna för klassen SQLServerPreparedStatement. Den setter-metod som du använder bestäms av datatypen för det värde som du vill skicka till SQL-instruktionen.

När du skickar ett värde till metoden setter måste du ange inte bara det faktiska värde som ska användas i SQL-instruktionen, utan även parameterns ordningstalsplacering i SQL-instruktionen. Om sql-instruktionen till exempel innehåller en enda parameter blir dess ordningstal 1. Om -instruktionen innehåller två parametrar blir det första ordningstalet 1, medan det andra ordningstalet är 2.

I följande exempel skickas en öppen anslutning till AdventureWorks2025-exempeldatabasen till funktionen, en SQL-förberedd instruktion konstrueras och körs med ett enda strängparametervärde och sedan läss resultaten från resultatuppsättningen.

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

Se även

Använda instruktioner med SQL