Compartir por


Modificación de ejemplo de datos de conjunto de resultados

Descargar controlador JDBC

La aplicación de ejemplo del controlador JDBC de Microsoft para SQL Server muestra cómo recuperar un conjunto de datos actualizable de una base de datos de SQL Server. Después, mediante los métodos del objeto SQLServerResultSet, inserta, modifica y, finalmente, elimina un fila de datos del conjunto de datos.

El archivo de código para este ejemplo se denomina UpdateResultSet.java y se encuentra en la siguiente ubicación:

\<installation directory>\sqljdbc_<version>\<language>\samples\resultsets

Requisitos

Para ejecutar esta aplicación de ejemplo, debe configurar la ruta de clase para que incluya el archivo mssql-jdbc.jar. Además, debe acceder a la base de datos de ejemplo AdventureWorks2022. Para obtener más información sobre cómo establecer la ruta de acceso de clase, consulte Usar el controlador JDBC.

Nota:

Microsoft JDBC Driver para SQL Server proporciona los archivos de biblioteca de clases mssql-jdbc que se usan según la configuración preferida de Java Runtime Environment (JRE). Para obtener más información acerca del archivo JAR que se debe seleccionar, consulte Requisitos del sistema para el controlador JDBC.

Ejemplo

El código de ejemplo realiza una conexión a la base de datos de ejemplo AdventureWorks2022. Luego, mediante una instrucción SQL con el objeto SQLServerStatement, ejecuta la instrucción SQL y coloca los datos devueltos en un objeto SQLServerResultSet actualizable.

A continuación, el código de ejemplo usa el método moveToInsertRow para mover el cursor del conjunto de resultados a la fila de inserción. Luego, usa una serie de métodos updateString para insertar datos en la nueva fila. Después, llama al método insertRow para conservar la nueva fila de datos en la base de datos.

Después de insertar la nueva fila de datos, el código de ejemplo usa una instrucción SQL para recuperar la fila insertada previamente. A partir de ahí, se usa la combinación de los métodos updateString y updateRow para actualizar la fila de datos y volver a almacenarlos en la base de datos.

Por último, el código recupera la fila de datos actualizada previamente y, después, la elimina de la base de datos con el método deleteRow.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class UpdateResultSet {

    public static void main(String[] args) {

        // Create a variable for the connection string.
        String connectionUrl = "jdbc:sqlserver://<server>:<port>;encrypt=true;databaseName=AdventureWorks;user=<user>;password=<password>";

        try (Connection con = DriverManager.getConnection(connectionUrl);
                Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);) {

            // Create and execute an SQL statement, retrieving an updateable result set.
            String SQL = "SELECT * FROM HumanResources.Department;";
            ResultSet rs = stmt.executeQuery(SQL);

            // Insert a row of data.
            rs.moveToInsertRow();
            rs.updateString("Name", "Accounting");
            rs.updateString("GroupName", "Executive General and Administration");
            rs.updateString("ModifiedDate", "08/01/2006");
            rs.insertRow();

            // Retrieve the inserted row of data and display it.
            SQL = "SELECT * FROM HumanResources.Department WHERE Name = 'Accounting';";
            rs = stmt.executeQuery(SQL);
            displayRow("ADDED ROW", rs);

            // Update the row of data.
            rs.first();
            rs.updateString("GroupName", "Finance");
            rs.updateRow();

            // Retrieve the updated row of data and display it.
            rs = stmt.executeQuery(SQL);
            displayRow("UPDATED ROW", rs);

            // Delete the row of data.
            rs.first();
            rs.deleteRow();
            System.out.println("ROW DELETED");
        }
        // Handle any errors that may have occurred.
        catch (SQLException e) {
            e.printStackTrace();
        }
    }

    private static void displayRow(String title,
            ResultSet rs) throws SQLException {
        System.out.println(title);
        while (rs.next()) {
            System.out.println(rs.getString("Name") + " : " + rs.getString("GroupName"));
            System.out.println();
        }
    }
}

Vea también

Trabajo con conjuntos de resultados