Utilizzo di un'istruzione SQL per modificare i dati
Per utilizzare un'istruzione SQL per la modifica dei dati contenuti in un database di SQL Server, è possibile utilizzare 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 creare innanzitutto un oggetto SQLServerStatement utilizzando il metodo createStatement della classe SQLServerConnection.
Nell'esempio seguente una connessione aperta a AdventureWorks, il database di esempio di SQL Server 2005, è passata alla funzione e viene costruita un'istruzione SQL che consente di aggiungere nuovi dati alla tabella. L'istruzione viene quindi eseguita e viene visualizzato il valore restituito.
public static void executeUpdateStatement(Connection con) {
try {
String SQL = "INSERT INTO TestTable (Col2, Col3) VALUES ('a', 10)";
Statement stmt = con.createStatement();
int count = stmt.executeUpdate(SQL);
System.out.println("ROWS AFFECTED: " + count);
stmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
Nota
Per utilizzare un'istruzione SQL contenente dei parametri per la modifica dei dati contenuti in un database di SQL Server, è consigliabile utilizzare 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 ulteriori informazioni sulla proprietà lastUpdateCount, vedere Impostazione delle proprietà delle connessioni.