Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento ukázkový ovladač Microsoft JDBC pro SQL Server ukazuje, jak načíst aktualizovatelnou sadu dat z databáze SQL Serveru. Potom pomocí metod SQLServerResultSet objekt, vloží, upraví a nakonec odstraní řádek dat ze sady dat.
Soubor kódu pro tuto ukázku má název UpdateResultSet.java a najdete ho v následujícím umístění:
\<installation directory>\sqljdbc_<version>\<language>\samples\resultsets
Požadavky
Chcete-li spustit tuto ukázkovou aplikaci, musíte nastavit cestu ke třídám tak, aby zahrnovala mssql-jdbc JAR soubor. Budete také potřebovat přístup k ukázkové databázi AdventureWorks2025. Další informace o nastavení classpath naleznete viz Použití ovladače JDBC.
Poznámka:
Ovladač Microsoft JDBC pro SQL Server poskytuje soubory knihovny tříd mssql-jdbc, které se mají použít v závislosti na preferovaném nastavení prostředí Java Runtime Environment (JRE). Další informace o tom, který soubor JAR zvolit, naleznete v tématu Požadavky na systém pro ovladač JDBC.
Example
Ukázkový kód vytvoří připojení k ukázkové databázi AdventureWorks2025. Potom pomocí příkazu SQL s objektem SQLServerStatement spustí příkaz SQL a umístí data, která vrací do aktualizovatelného objektu SQLServerResultSet.
Dále vzorový kód používá metodu moveToInsertRow k přesunutí kurzoru sady výsledků na vkládací řádek. Potom používá řadu metod updateString k vložení dat do nového řádku. Potom zavolá metodu insertRow , která zachová nový řádek dat zpět do databáze.
Po vložení nového řádku dat použije vzorový kód příkaz SQL k načtení dříve vloženého řádku. Odtud pomocí kombinace updateString a updateRow aktualizuje řádek dat a znovu jej uloží zpět do databáze.
Nakonec vzorový kód načte dříve aktualizovaný řádek dat a pak ho odstraní z databáze pomocí metody 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();
}
}
}