Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta aplicação de exemplo do Microsoft JDBC Driver para SQL Server demonstra como recuperar um conjunto de dados atualizável a partir de uma base de dados SQL Server. Depois, usando métodos do objeto SQLServerResultSet , insere, modifica e finalmente elimina uma linha de dados do conjunto de dados.
O ficheiro de código deste exemplo chama-se UpdateResultSet.java e pode ser encontrado na seguinte localização:
\<installation directory>\sqljdbc_<version>\<language>\samples\resultsets
Requerimentos
Para executar esta aplicação de exemplo, deve definir o classpath para incluir o ficheiro jar mssql-jdbc. Também vais precisar de acesso à base de dados de exemplos do AdventureWorks2025. Para mais informações sobre como definir o percurso de classes, veja Usar o Driver JDBC.
Observação
O Microsoft JDBC Driver para SQL Server fornece ficheiros de biblioteca de classes mssql-jdbc para serem usados dependendo das definições do seu Java Runtime Environment (JRE) preferidas. Para mais informações sobre qual ficheiro JAR escolher, consulte Requisitos de Sistema para o Driver JDBC.
Example
O código de exemplo faz uma ligação à base de dados de exemplo AdventureWorks2025. Depois, usando uma instrução SQL com o objeto SQLServerStatement , executa a instrução SQL e coloca os dados que devolve num objeto SQLServerResultSet atualizável.
De 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. Depois, utiliza uma série de métodos updateString para inserir dados na nova linha. Depois disso, chama o método insertRow para persistir a nova linha de dados de volta à base de dados.
Após inserir a nova linha de dados, o código de exemplo utiliza uma instrução SQL para recuperar a linha previamente inserida. A partir daí, utiliza a combinação dos métodos updateString e updateRow para atualizar a linha de dados e novamente persistir essa alteração na base de dados.
Finalmente, o código de exemplo recupera a linha de dados previamente atualizada e depois apaga-a da base 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();
}
}
}