Partilhar via


Modificando exemplo de dados de conjunto de resultados

Baixar o JDBC Driver

Este aplicativo de exemplo do Microsoft JDBC Driver para SQL Server demonstra como recuperar um conjunto de dados atualizável de um banco de dados do SQL Server. Em seguida, usando métodos do objeto SQLServerResultSet, ele insere, modifica e, por fim, exclui uma linha de dados do conjunto de dados.

O arquivo de código desta amostra chama-se UpdateResultSet.java e pode ser encontrado no seguinte local:

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

Requisitos

Para executar este aplicativo de exemplo, é necessário definir o classpath para incluir o arquivo mssql-jdbc.jar. Também será necessário ter acesso ao banco de dados de exemplo AdventureWorks2022. Para obter mais informações sobre como definir o caminho de classe, confira Como usar o JDBC Driver.

Observação

O Microsoft JDBC Driver para SQL Server fornece os arquivos de biblioteca de classes mssql-jdbc a serem usados de acordo com suas configurações preferenciais do JRE (Java Runtime Environment). Para saber mais sobre qual arquivo JAR escolher, confira os requisitos do sistema para o JDBC Driver.

Exemplo

O código de exemplo faz uma conexão com o banco de dados de exemplo AdventureWorks2022. Em seguida, usando uma instrução SQL com o objeto SQLServerStatement , ele executa a instrução SQL e coloca os dados retornados em um objeto SQLServerResultSet atualizável.

Em seguida, o código de exemplo usa o método moveToInsertRow para mover o cursor do conjunto de resultados para a linha de inserção. Em seguida, ele usa uma série de métodos updateString para inserir dados na nova linha. Depois disso, ele chama o método insertRow para persistir a nova linha de dados de volta no banco de dados.

Depois de inserir a nova linha de dados, o código de exemplo usa uma instrução SQL para recuperar a linha inserida anteriormente. Desse ponto em diante, ele usa a combinação dos métodos updateStringe updateRow para atualizar a linha de dados e novamente persisti-la no banco de dados.

Por fim, o código de exemplo recupera a linha de dados previamente atualizada e, em seguida, a exclui do banco de dados usando o 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 a 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();
        }
    }
}

Confira também

Trabalhando com conjuntos de resultados