Uso di un'istruzione SQL per modificare i dati

Scaricare il driver JDBC

Per modificare i dati contenuti in un database di SQL Server usando un'istruzione SQL, è possibile usare il metodo executeUpdate della classe SQLServerStatement . Con il metodo executeUpdate l'istruzione SQL viene passata al database per l'elaborazione e viene restituito un valore che indica il numero di righe modificate.

A tale scopo, è necessario innanzitutto creare un oggetto SQLServerStatement usando il metodo createStatement della classe SQLServerConnection.

Nell'esempio seguente viene passata una connessione aperta al database di esempio AdventureWorks2025 alla funzione , viene costruita un'istruzione SQL che aggiunge nuovi dati alla tabella e quindi viene eseguita l'istruzione e viene visualizzato il valore restituito.

public static void executeUpdateStatement(Connection con) {
    try(Statement stmt = con.createStatement();) {
        String SQL = "INSERT INTO TestTable (Col2, Col3) VALUES ('a', 10)";
        int count = stmt.executeUpdate(SQL);
        System.out.println("ROWS AFFECTED: " + count);
    }
    // Handle any errors that may have occurred.
    catch (SQLException e) {
        e.printStackTrace();
    }
}

Nota

Se è necessario usare un'istruzione SQL che contiene parametri per modificare i dati in un database di SQL Server, è necessario usare il metodo executeUpdate della classe SQLServerPreparedStatement .

Se nella colonna in cui si desidera inserire i dati sono presenti caratteri speciali, quali, ad esempio, gli spazi, è necessario fornire i valori da inserire, anche se si tratta dei valori predefiniti. In caso contrario, l'operazione di inserimento non verrà eseguita correttamente.

Se si desidera che il driver JDBC restituisca tutti i conteggi degli aggiornamenti, inclusi i conteggi degli aggiornamenti restituiti dai trigger eventualmente attivati, impostare la proprietà della stringa di connessione lastUpdateCount su "false". Per altre informazioni sulla proprietà lastUpdateCount, vedere Impostazione delle proprietà di connessione.