Delen via


Voorbeeld van resultatensetgegevens wijzigen

JDBC-stuurprogramma downloaden

Dit Microsoft JDBC-stuurprogramma voor sql Server-voorbeeldtoepassing laat zien hoe u een updatable set gegevens ophaalt uit een SQL Server-database. Vervolgens worden met behulp van methoden van het object SQLServerResultSet een rij met gegevens uit de set gegevens ingevoegd, gewijzigd en vervolgens verwijderd.

Het codebestand voor dit voorbeeld heeft de naam UpdateResultSet.java en bevindt zich op de volgende locatie:

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

Requirements

Als u deze voorbeeldtoepassing wilt uitvoeren, moet u het klassepad zo instellen dat het jar-bestand mssql-jdbc wordt opgenomen. U hebt ook toegang nodig tot de voorbeelddatabase AdventureWorks2025. Zie Het JDBC-stuurprogramma gebruiken voor meer informatie over het instellen van het klassepad.

Opmerking

Het Microsoft JDBC-stuurprogramma voor SQL Server biedt mssql-jdbc-klassebibliotheekbestanden die gebruikt kunnen worden, op basis van de instellingen voor de Java Runtime Environment (JRE). Zie Systeemvereisten voor het JDBC-stuurprogramma voor meer informatie over welk JAR-bestand u wilt kiezen.

Example

De voorbeeldcode maakt een verbinding met de voorbeelddatabase AdventureWorks2025. Vervolgens wordt met behulp van een SQL-instructie met het SQLServerStatement-object de SQL-instructie uitgevoerd en worden de gegevens geplaatst die worden geretourneerd in een updatable SQLServerResultSet-object.

Vervolgens gebruikt de voorbeeldcode de methode moveToInsertRow om de cursor van de resultatenset naar de invoegrij te verplaatsen. Vervolgens wordt een reeks updateString-methoden gebruikt om gegevens in de nieuwe rij in te voegen. Daarna wordt de insertRow-methode aangeroepen om de nieuwe rij met gegevens weer in de database op te halen.

Nadat u de nieuwe rij met gegevens hebt ingevoegd, gebruikt de voorbeeldcode een SQL-instructie om de eerder ingevoegde rij op te halen. Van daaruit wordt gebruikgemaakt van de combinatie van updateString en updateRow-methoden om de rij met gegevens bij te werken en deze weer op te geven in de database.

Ten slotte haalt de voorbeeldcode de eerder bijgewerkte rij met gegevens op en verwijdert deze vervolgens uit de database met behulp van de deleteRow-methode .

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

Zie ook

Werken met resultatensets