Para modificar los datos incluidos en una base de datos de SQL Server mediante una instrucción SQL, puede usar el método executeUpdate de la clase SQLServerStatement. El método executeUpdate pasa la instrucción SQL a la base de datos para su procesamiento y, a continuación, devuelve un valor que indica el número de filas afectadas.
Para ello, primero debe crear un objeto SQLServerStatement mediante el método createStatement de la clase SQLServerConnection.
En el siguiente ejemplo, se pasa una conexión abierta a la base de datos de ejemplo AdventureWorks de SQL Server 2005 a la función, se genera una instrucción SQL que agrega datos nuevos a la tabla y, a continuación, la instrucción se ejecuta y se muestra el valor devuelto.
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(); } }
Si necesita usar una instrucción SQL que contenga parámetros para modificar los datos de una base de datos de SQL Server, debe usar el método executeUpdate de la clase SQLServerPreparedStatement.
Si la columna en que intenta insertar datos contiene caracteres especiales (por ejemplo, espacios), debe proporcionar los valores que se van a insertar incluso si se trata de valores predeterminados. En caso contrario, la operación de inserción no funciona.
Si desea que el controlador JDBC devuelva todos los recuentos de actualizaciones, incluidos los recuentos de actualizaciones devueltos por todos los desencadenadores activados, establezca la propiedad de cadena de conexión lastUpdateCount en "false". Para obtener más información sobre la propiedad lastUpdateCount, consulte Establecer las propiedades de conexión.