다음을 통해 공유


결과 집합 데이터 샘플 수정

JDBC 드라이버 다운로드

이 SQL Server용 Microsoft JDBC Driver 샘플 애플리케이션에서는 SQL Server 데이터베이스에서 업데이트 가능한 데이터 세트를 검색하는 방법을 보여 줍니다. 그런 다음, SQLServerResultSet 개체의 메서드를 사용하여 데이터 행을 데이터 집합에 삽입하고 수정한 후, 마지막에는 데이터 집합에서 삭제합니다.

이 샘플의 코드 파일 이름은 UpdateResultSet.java.java이며 다음과 같은 위치에 있습니다.

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

요구 사항

이 샘플 애플리케이션을 실행하려면 mssql-jdbc jar 파일을 포함하도록 클래스 경로를 설정해야 합니다. 또한 AdventureWorks2022 샘플 데이터베이스에 대한 액세스 권한이 필요합니다. 클래스 경로를 설정하는 방법에 대한 자세한 내용은 JDBC 드라이버 사용을 참조하세요.

참고 항목

Microsoft JDBC Driver for SQL Server는 기본 설정된 JRE(Java Runtime Environment)에 따라 사용할 수 있는 mssql-jdbc 클래스 라이브러리 파일을 제공합니다. 선택할 JAR 파일에 대한 자세한 내용은 JDBC 드라이버에 대한 시스템 요구 사항을 참조하세요.

예시

샘플 코드에서는 AAdventureWorks2022 샘플 데이터베이스에 연결합니다. 그런 다음, SQLServerStatement 개체가 있는 SQL 문을 사용하고 SQL 문을 실행하여 반환하는 데이터를 업데이트 가능한 SQLServerResultSet 개체로 지정합니다.

다음으로 샘플 코드는 moveToInsertRow 메서드를 사용하여 결과 집합 커서를 삽입 행으로 이동합니다. 그리고 일련의 updateString 메서드를 사용하여 데이터를 새 행에 삽입합니다. 그런 다음 insertRow 메서드를 호출하여 새 데이터 행을 데이터베이스에 다시 보관합니다.

새 데이터 행을 삽입한 후 샘플 코드는 SQL 문을 사용하여 앞서 삽입한 행을 검색합니다. 여기에서 updateStringupdateRow 메서드 조합을 사용하여 데이터 행을 업데이트하고 데이터베이스에 다시 보관합니다.

마지막으로 샘플 코드는 이전에 업데이트된 데이터 행을 검색한 다음 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 an 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();
        }
    }
}

참고 항목

결과 집합 작업