Sdílet prostřednictvím


Úprava ukázky dat sady výsledků

Stáhnout ovladač JDBC

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();
        }
    }
}

Viz také

Práce se sadami výsledků