DbDataAdapter.Update 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
에서 삽입, 업데이트 또는 삭제된 각 행에 대해 해당 INSERT, UPDATE 또는 DELETE 문을 실행하여 데이터베이스의 DataSet값을 업데이트합니다.
오버로드
| Name | Description |
|---|---|
| Update(DataSet, String) |
지정된 DataTable 이름을 사용하여 삽입, 업데이트 또는 삭제된 각 행에 대해 해당 INSERT, UPDATE 또는 DELETE 문을 실행하여 데이터베이스의 DataSet 값을 업데이트합니다. |
| Update(DataRow[], DataTableMapping) |
지정된 개체 배열에서 삽입, 업데이트 또는 삭제된 각 행에 대해 해당 INSERT, UPDATE 또는 DELETE 문을 실행하여 데이터베이스의 DataRow 값을 업데이트합니다. |
| Update(DataTable) |
지정된 DataTable행에 삽입, 업데이트 또는 삭제된 각 행에 대해 해당 INSERT, UPDATE 또는 DELETE 문을 실행하여 데이터베이스의 값을 업데이트합니다. |
| Update(DataSet) |
지정된 DataSet행에 삽입, 업데이트 또는 삭제된 각 행에 대해 해당 INSERT, UPDATE 또는 DELETE 문을 실행하여 데이터베이스의 값을 업데이트합니다. |
| Update(DataRow[]) |
지정된 배열 DataSet에서 삽입, 업데이트 또는 삭제된 각 행에 대해 해당 INSERT, UPDATE 또는 DELETE 문을 실행하여 데이터베이스의 값을 업데이트합니다. |
Update(DataSet, String)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
public:
int Update(System::Data::DataSet ^ dataSet, System::String ^ srcTable);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public int Update(System.Data.DataSet dataSet, string srcTable);
public int Update(System.Data.DataSet dataSet, string srcTable);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
override this.Update : System.Data.DataSet * string -> int
override this.Update : System.Data.DataSet * string -> int
Public Function Update (dataSet As DataSet, srcTable As String) As Integer
매개 변수
- srcTable
- String
테이블 매핑에 사용할 원본 테이블의 이름입니다.
반환
에서 성공적으로 업데이트된 행 수 DataSet입니다.
- 특성
예외
DataSet 유효하지 않습니다.
원본 테이블이 잘못되었습니다.
INSERT, UPDATE 또는 DELETE 문을 실행하려고 하면 0개의 레코드가 영향을 받았습니다.
예제
다음 예제에서는 파생 클래스 OleDbDataAdapter를 사용하여 데이터 원본을 업데이트합니다.
public DataSet CreateCmdsAndUpdate(string connectionString,
string queryString, string tableName)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(queryString, connection);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
connection.Open();
DataSet customers = new DataSet();
adapter.Fill(customers);
//code to modify data in dataset here
adapter.Update(customers, tableName);
return customers;
}
}
Public Function CreateCmdsAndUpdate(ByVal connectionString As String, _
ByVal queryString As String, _
ByVal tableName As String) As DataSet
Using connection As New OleDbConnection(connectionString)
Dim adapter As New OleDbDataAdapter()
adapter.SelectCommand = New OleDbCommand(queryString, connection)
Dim builder As New OleDbCommandBuilder(adapter)
connection.Open()
Dim customers As New DataSet()
adapter.Fill(customers)
' Code to modify data in DataSet here
adapter.Update(customers, tableName)
Return customers
End Using
End Function
설명
애플리케이션이 메서드를 Update 호출할 때 속성을 검사 RowState 하고 각 행에 대해 필요한 INSERT, UPDATE 또는 DELETE 문을 반복적으로 실행합니다DataSet.DbDataAdapter 예를 들어 Update DELETE 문을 실행한 다음 INSERT 문과 다른 DELETE 문을 실행할 수 있습니다 DataTable.
이러한 문은 일괄 처리 프로세스로 수행되지 않습니다. 각 행은 개별적으로 업데이트됩니다. 애플리케이션은 문 형식의 시퀀스를 제어해야 하는 경우(예: UPDATE 전에 INSERT) 메서드를 호출 GetChanges 할 수 있습니다. 자세한 내용은 DataAdapters를 사용하여 데이터 원본 업데이트를 참조하세요.
INSERT, UPDATE 또는 DELETE 문이 지정되지 않은 경우 메서드는 Update 예외를 생성합니다. 그러나 .NET Framework 데이터 공급자의 속성을 설정하는 SelectCommand 경우 단일 테이블 업데이트에 대한 SQL 문을 자동으로 생성하는 개체 또는 OleDbCommandBuilder 개체를 만들 SqlCommandBuilder 수 있습니다. 그런 다음, 설정하지 않은 추가 SQL 문은 CommandBuilder에 의해 생성됩니다. 이 생성 논리에는 키 열 정보가 DataSet있어야 합니다. 자세한 내용은 CommandBuilders를 사용하여 명령 생성을 참조하세요.
이 메서드는 Update 이름이 대/소문자 DataSet 만 다른 여러 DataTable 개체를 포함하는 시나리오를 지원합니다. 이름이 같지만 대/소문자를 구분하는 여러 테이블이 있는 DataSetUpdate 경우 대/소문자를 구분하여 해당 테이블을 찾은 다음 정확한 일치 항목이 없으면 예외를 생성합니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet ds = new DataSet();
ds.Tables.Add("aaa");
ds.Tables.Add("AAA");
adapter.Update(ds, "aaa"); // Updates "aaa", which already exists in the DataSet.
adapter.Update(ds, "AAA"); // Updates "AAA", which already exists in the DataSet.
adapter.Update(ds, "Aaa"); // Results in an exception.
호출되고 DataSet 이름이 대/소문 DataTable 자별로만 다른 이름 DataTable 만 포함된 경우 Update 업데이트됩니다. 이 시나리오에서 비교는 대/소문자를 구분하지 않습니다. 다음 C# 코드는 이 동작을 보여 줍니다.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Update(dataset, "AAA"); // Updates table "aaa" because only one similarly named table is in the DataSet.
이 메서드는 Update 업데이트를 수행하기 전에 첫 번째 매핑에 나열된 테이블에서 행을 검색합니다. 그런 Update 다음 속성 값을 UpdatedRowSource 사용하여 행을 새로 고칩니다. 반환된 모든 추가 행은 무시됩니다.
데이터가 다시 DataSetOnRowUpdated 로드되면 이벤트가 발생하므로 사용자가 조정된 행과 명령에서 반환된 DataSet 출력 매개 변수를 검사할 수 있습니다. 행이 성공적으로 업데이트되면 해당 행의 변경 내용이 수락됩니다.
사용하는 Update경우 실행 순서는 다음과 같습니다.
해당 값은 DataRow 매개 변수 값으로 이동됩니다.
OnRowUpdating 이벤트가 발생합니다.
명령이 실행됩니다.
명령이 설정
FirstReturnedRecord되면 반환된 첫 번째 결과가 .에 DataRow배치됩니다.출력 매개 변수 DataRow가 있는 경우 .
OnRowUpdated 이벤트가 발생합니다.
AcceptChanges을 호출합니다.
일반적으로 연결된 DbDataAdapter 각 명령에는 연결된 매개 변수 컬렉션이 있습니다. 매개 변수는 .NET Framework 데이터 공급자 Parameter 클래스의 속성 및 SourceVersion 속성을 통해 SourceColumn 현재 행에 매핑됩니다.
SourceColumn 는 DataTable 현재 행에 DbDataAdapter 대한 매개 변수 값을 가져오기 위해 참조하는 열을 나타냅니다.
SourceColumn 는 테이블 매핑이 적용되기 전에 매핑되지 않은 열 이름을 나타냅니다. 존재하지 않는 열을 참조하는 경우 SourceColumn 수행되는 작업은 다음 MissingMappingAction 값 중 하나에 따라 달라집니다.
| 열거형 값 | 수행한 작업 |
|---|---|
MissingMappingAction.Passthrough |
매핑이 없는 경우 원본 열 이름과 테이블 이름을 DataSet 사용합니다. |
MissingMappingAction.Ignore |
A SystemException 가 생성됩니다. 매핑이 명시적으로 설정되면 입력 매개 변수에 대한 누락된 매핑은 일반적으로 오류의 결과입니다. |
MissingMappingAction.Error |
A SystemException 가 생성됩니다. |
또한 이 SourceColumn 속성은 출력 또는 입력/출력 매개 변수의 값을 다시 에 매핑하는 DataSet데 사용됩니다. 존재하지 않는 열을 참조하는 경우 예외가 생성됩니다.
.NET Framework 데이터 공급자 클래스의 속성은 SourceVersion 열 값의 Parameter 원본, 현재 버전 또는 제안된 버전을 사용할지 여부를 결정합니다. 이 기능은 낙관적 동시성 위반을 확인하기 위해 UPDATE 문의 WHERE 절에 원래 값을 포함하는 데 자주 사용됩니다.
메모
행을 업데이트하는 동안 오류가 발생하면 예외가 throw되고 업데이트 실행이 중단됩니다. 오류가 발생할 때 예외를 생성하지 않고 업데이트 작업을 계속하려면 호출Update하기 전에 속성을 true 설정합니다ContinueUpdateOnError. DataAdapter 이벤트 내에서 행별로 오류에 RowUpdated 응답할 수도 있습니다. 이벤트 내에서 RowUpdated 예외를 생성하지 않고 업데이트 작업을 계속하려면 to의 StatusRowUpdatedEventArgsContinue속성을 설정합니다.
추가 정보
적용 대상
Update(DataRow[], DataTableMapping)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
지정된 개체 배열에서 삽입, 업데이트 또는 삭제된 각 행에 대해 해당 INSERT, UPDATE 또는 DELETE 문을 실행하여 데이터베이스의 DataRow 값을 업데이트합니다.
protected:
virtual int Update(cli::array <System::Data::DataRow ^> ^ dataRows, System::Data::Common::DataTableMapping ^ tableMapping);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
protected virtual int Update(System.Data.DataRow[] dataRows, System.Data.Common.DataTableMapping tableMapping);
protected virtual int Update(System.Data.DataRow[] dataRows, System.Data.Common.DataTableMapping tableMapping);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
override this.Update : System.Data.DataRow[] * System.Data.Common.DataTableMapping -> int
override this.Update : System.Data.DataRow[] * System.Data.Common.DataTableMapping -> int
Protected Overridable Function Update (dataRows As DataRow(), tableMapping As DataTableMapping) As Integer
매개 변수
- tableMapping
- DataTableMapping
TableMappings 사용할 컬렉션입니다.
반환
개체 배열에서 성공적으로 업데이트된 행 수 DataRow 입니다.
- 특성
예외
DataSet 유효하지 않습니다.
원본 테이블이 잘못되었습니다.
INSERT, UPDATE 또는 DELETE 문을 실행하려고 하면 0개의 레코드가 영향을 받았습니다.
설명
애플리케이션이 메서드를 Update 호출할 때 속성을 검사 RowState 하고 각 행에 대해 필요한 INSERT, UPDATE 또는 DELETE 문을 반복적으로 실행합니다DataSet.DbDataAdapter 예를 들어 Update DELETE 문을 실행한 다음 INSERT 문과 다른 DELETE 문을 실행할 수 있습니다 DataTable.
이러한 문은 일괄 처리 프로세스로 수행되지 않습니다. 각 행은 개별적으로 업데이트됩니다. 애플리케이션은 문 형식의 시퀀스(예: UPDAT 이전의 INSERT)를 제어해야 하는 상황에서 메서드를 호출 GetChanges 할 수 있습니다. 자세한 내용은 DataAdapters를 사용하여 데이터 원본 업데이트를 참조하세요.
INSERT, UPDATE 또는 DELETE 문이 지정되지 않은 경우 메서드는 Update 예외를 생성합니다. 그러나 .NET Framework 데이터 공급자의 속성을 설정하는 SelectCommand 경우 단일 테이블 업데이트에 대한 SQL 문을 자동으로 생성하는 개체 또는 OleDbCommandBuilder 개체를 만들 SqlCommandBuilder 수 있습니다. 그런 다음, 설정하지 않은 추가 SQL 문은 CommandBuilder에 의해 생성됩니다. 이 생성 논리에는 키 열 정보가 DataSet있어야 합니다. 자세한 내용은 CommandBuilders를 사용하여 명령 생성을 참조하세요.
이 메서드는 Update 업데이트를 수행하기 전에 첫 번째 매핑에 나열된 테이블에서 행을 검색합니다. 그런 Update 다음 속성 값을 UpdatedRowSource 사용하여 행을 새로 고칩니다. 반환된 모든 추가 행은 무시됩니다.
데이터가 다시 DataSetOnRowUpdated 로드되면 이벤트가 발생하므로 사용자가 조정된 행과 명령에서 반환된 DataSet 출력 매개 변수를 검사할 수 있습니다. 행이 성공적으로 업데이트되면 해당 행의 변경 내용이 수락됩니다.
사용하는 Update경우 실행 순서는 다음과 같습니다.
해당 값은 DataRow 매개 변수 값으로 이동됩니다.
OnRowUpdating 이벤트가 발생합니다.
명령이 실행됩니다.
명령이 설정
FirstReturnedRecord되면 반환된 첫 번째 결과가 .에 DataRow배치됩니다.출력 매개 변수 DataRow가 있는 경우 .
OnRowUpdated 이벤트가 발생합니다.
AcceptChanges을 호출합니다.
일반적으로 연결된 DbDataAdapter 각 명령에는 연결된 매개 변수 컬렉션이 있습니다. 매개 변수는 .NET Framework 데이터 공급자 Parameter 클래스의 속성 및 SourceVersion 속성을 통해 SourceColumn 현재 행에 매핑됩니다.
SourceColumn 는 DataTable 현재 행에 DbDataAdapter 대한 매개 변수 값을 가져오기 위해 참조하는 열을 나타냅니다.
SourceColumn 는 테이블 매핑이 적용되기 전에 매핑되지 않은 열 이름을 나타냅니다. 존재하지 않는 열을 참조하는 경우 SourceColumn 수행되는 작업은 다음 MissingMappingAction 값 중 하나에 따라 달라집니다.
| 열거형 값 | 수행한 작업 |
|---|---|
MissingMappingAction.Passthrough |
매핑이 없는 경우 원본 열 이름과 테이블 이름을 DataSet 사용합니다. |
MissingMappingAction.Ignore |
A SystemException 가 생성됩니다. 매핑이 명시적으로 설정되면 입력 매개 변수에 대한 누락된 매핑은 일반적으로 오류의 결과입니다. |
MissingMappingAction.Error |
A SystemException 가 생성됩니다. |
또한 이 SourceColumn 속성은 출력 또는 입력/출력 매개 변수의 값을 다시 에 매핑하는 DataSet데 사용됩니다. 존재하지 않는 열을 참조하는 경우 예외가 생성됩니다.
.NET Framework 데이터 공급자 클래스의 속성은 SourceVersion 열 값의 Parameter 원본, 현재 버전 또는 제안된 버전을 사용할지 여부를 결정합니다. 이 기능은 낙관적 동시성 위반을 확인하기 위해 UPDATE 문의 WHERE 절에 원래 값을 포함하는 데 자주 사용됩니다.
메모
행을 업데이트하는 동안 오류가 발생하면 예외가 throw되고 업데이트 실행이 중단됩니다. 오류가 발생할 때 예외를 생성하지 않고 업데이트 작업을 계속하려면 호출Update하기 전에 속성을 true 설정합니다ContinueUpdateOnError. DataAdapter 이벤트 내에서 행별로 오류에 RowUpdated 응답할 수도 있습니다. 이벤트 내에서 RowUpdated 예외를 생성하지 않고 업데이트 작업을 계속하려면 to의 StatusRowUpdatedEventArgsContinue속성을 설정합니다.
추가 정보
적용 대상
Update(DataTable)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
지정된 DataTable행에 삽입, 업데이트 또는 삭제된 각 행에 대해 해당 INSERT, UPDATE 또는 DELETE 문을 실행하여 데이터베이스의 값을 업데이트합니다.
public:
int Update(System::Data::DataTable ^ dataTable);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public int Update(System.Data.DataTable dataTable);
public int Update(System.Data.DataTable dataTable);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
override this.Update : System.Data.DataTable -> int
override this.Update : System.Data.DataTable -> int
Public Function Update (dataTable As DataTable) As Integer
매개 변수
반환
에서 성공적으로 업데이트된 행 수 DataTable입니다.
- 특성
예외
DataSet 유효하지 않습니다.
원본 테이블이 잘못되었습니다.
INSERT, UPDATE 또는 DELETE 문을 실행하려고 하면 0개의 레코드가 영향을 받았습니다.
예제
다음 예제에서는 파생 클래스 OleDbDataAdapter를 사용하여 데이터 원본을 업데이트합니다.
public DataTable CreateCmdsAndUpdate(string connectionString,
string queryString)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(queryString, connection);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
connection.Open();
DataTable customers = new DataTable();
adapter.Fill(customers);
// code to modify data in DataTable here
adapter.Update(customers);
return customers;
}
}
Public Function CreateCmdsAndUpdate(ByVal connectionString As String, _
ByVal queryString As String) As DataTable
Using connection As New OleDbConnection(connectionString)
Dim adapter As New OleDbDataAdapter()
adapter.SelectCommand = New OleDbCommand(queryString, connection)
Dim builder As New OleDbCommandBuilder(adapter)
connection.Open()
Dim customers As New DataTable()
adapter.Fill(customers)
' Code to modify data in DataTable here
adapter.Update(customers)
Return customers
End Using
End Function
설명
애플리케이션이 메서드를 Update 호출할 때 속성을 검사 RowState 하고 각 행에 대해 필요한 INSERT, UPDATE 또는 DELETE 문을 반복적으로 실행합니다DataSet.DbDataAdapter 예를 들어 Update DELETE 문을 실행한 다음 INSERT 문과 다른 DELETE 문을 실행할 수 있습니다 DataTable.
이러한 문은 일괄 처리 프로세스로 수행되지 않습니다. 각 행은 개별적으로 업데이트됩니다. 애플리케이션은 문 형식의 시퀀스(예: UPDAT 이전의 INSERT)를 제어해야 하는 상황에서 메서드를 호출 GetChanges 할 수 있습니다. 자세한 내용은 DataAdapters를 사용하여 데이터 원본 업데이트를 참조하세요.
INSERT, UPDATE 또는 DELETE 문이 지정되지 않은 경우 메서드는 Update 예외를 생성합니다. 그러나 .NET Framework 데이터 공급자의 속성을 설정하는 SelectCommand 경우 단일 테이블 업데이트에 대한 SQL 문을 자동으로 생성하는 개체 또는 OleDbCommandBuilder 개체를 만들 SqlCommandBuilder 수 있습니다. 그런 다음, 설정하지 않은 추가 SQL 문은 CommandBuilder에 의해 생성됩니다. 이 생성 논리에는 키 열 정보가 DataSet있어야 합니다. 자세한 내용은 CommandBuilders를 사용하여 명령 생성을 참조하세요.
이 메서드는 Update 업데이트를 수행하기 전에 첫 번째 매핑에 나열된 테이블에서 행을 검색합니다. 그런 Update 다음 속성 값을 UpdatedRowSource 사용하여 행을 새로 고칩니다. 반환된 모든 추가 행은 무시됩니다.
데이터가 다시 DataSetOnRowUpdated 로드되면 이벤트가 발생하므로 사용자가 조정된 행과 명령에서 반환된 DataSet 출력 매개 변수를 검사할 수 있습니다. 행이 성공적으로 업데이트되면 해당 행의 변경 내용이 수락됩니다.
사용하는 Update경우 실행 순서는 다음과 같습니다.
해당 값은 DataRow 매개 변수 값으로 이동됩니다.
OnRowUpdating 이벤트가 발생합니다.
명령이 실행됩니다.
명령이 설정
FirstReturnedRecord되면 반환된 첫 번째 결과가 .에 DataRow배치됩니다.출력 매개 변수 DataRow가 있는 경우 .
OnRowUpdated 이벤트가 발생합니다.
AcceptChanges을 호출합니다.
일반적으로 연결된 DbDataAdapter 각 명령에는 연결된 매개 변수 컬렉션이 있습니다. 매개 변수는 .NET Framework 데이터 공급자 Parameter 클래스의 속성 및 SourceVersion 속성을 통해 SourceColumn 현재 행에 매핑됩니다.
SourceColumn 는 DataTable 현재 행에 DbDataAdapter 대한 매개 변수 값을 가져오기 위해 참조하는 열을 나타냅니다.
SourceColumn 는 테이블 매핑이 적용되기 전에 매핑되지 않은 열 이름을 나타냅니다. 존재하지 않는 열을 참조하는 경우 SourceColumn 수행되는 작업은 다음 MissingMappingAction 값 중 하나에 따라 달라집니다.
| 열거형 값 | 수행한 작업 |
|---|---|
MissingMappingAction.Passthrough |
매핑이 없는 경우 원본 열 이름과 테이블 이름을 DataSet 사용합니다. |
MissingMappingAction.Ignore |
A SystemException 가 생성됩니다. 매핑이 명시적으로 설정되면 입력 매개 변수에 대한 누락된 매핑은 일반적으로 오류의 결과입니다. |
MissingMappingAction.Error |
A SystemException 가 생성됩니다. |
또한 이 SourceColumn 속성은 출력 또는 입력/출력 매개 변수의 값을 다시 에 매핑하는 DataSet데 사용됩니다. 존재하지 않는 열을 참조하는 경우 예외가 생성됩니다.
.NET Framework 데이터 공급자 클래스의 속성은 SourceVersion 열 값의 Parameter 원본, 현재 버전 또는 제안된 버전을 사용할지 여부를 결정합니다. 이 기능은 낙관적 동시성 위반을 확인하기 위해 UPDATE 문의 WHERE 절에 원래 값을 포함하는 데 자주 사용됩니다.
메모
행을 업데이트하는 동안 오류가 발생하면 예외가 throw되고 업데이트 실행이 중단됩니다. 오류가 발생할 때 예외를 생성하지 않고 업데이트 작업을 계속하려면 호출Update하기 전에 속성을 true 설정합니다ContinueUpdateOnError. DataAdapter 이벤트 내에서 행별로 오류에 RowUpdated 응답할 수도 있습니다. 이벤트 내에서 RowUpdated 예외를 생성하지 않고 업데이트 작업을 계속하려면 to의 StatusRowUpdatedEventArgsContinue속성을 설정합니다.
추가 정보
적용 대상
Update(DataSet)
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
지정된 DataSet행에 삽입, 업데이트 또는 삭제된 각 행에 대해 해당 INSERT, UPDATE 또는 DELETE 문을 실행하여 데이터베이스의 값을 업데이트합니다.
public:
override int Update(System::Data::DataSet ^ dataSet);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public override int Update(System.Data.DataSet dataSet);
public override int Update(System.Data.DataSet dataSet);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
override this.Update : System.Data.DataSet -> int
override this.Update : System.Data.DataSet -> int
Public Overrides Function Update (dataSet As DataSet) As Integer
매개 변수
반환
에서 성공적으로 업데이트된 행 수 DataSet입니다.
구현
- 특성
예외
원본 테이블이 잘못되었습니다.
INSERT, UPDATE 또는 DELETE 문을 실행하려고 하면 0개의 레코드가 영향을 받았습니다.
예제
다음 예제에서는 파생 클래스 OleDbDataAdapter를 사용하여 데이터 원본을 업데이트합니다.
public DataSet CreateCmdsAndUpdate(string connectionString,
string queryString)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(queryString, connection);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
connection.Open();
DataSet customers = new DataSet();
adapter.Fill(customers);
//code to modify data in dataset here
adapter.Update(customers);
return customers;
}
}
Public Function CreateCmdsAndUpdate(ByVal connectionString As String, _
ByVal queryString As String) As DataSet
Using connection As New OleDbConnection(connectionString)
Dim adapter As New OleDbDataAdapter()
adapter.SelectCommand = New OleDbCommand(queryString, connection)
Dim builder As New OleDbCommandBuilder(adapter)
connection.Open()
Dim customers As New DataSet()
adapter.Fill(customers)
' Code to modify data in DataSet here
adapter.Update(customers)
Return customers
End Using
End Function
설명
애플리케이션이 메서드를 Update 호출할 때 속성을 검사 RowState 하고 각 행에 대해 필요한 INSERT, UPDATE 또는 DELETE 문을 반복적으로 실행합니다DataSet.DbDataAdapter 예를 들어 Update DELETE 문을 실행한 다음 INSERT 문과 다른 DELETE 문을 실행할 수 있습니다 DataTable.
이러한 문은 일괄 처리 프로세스로 수행되지 않습니다. 각 행은 개별적으로 업데이트됩니다. 애플리케이션은 문 형식의 시퀀스(예: UPDAT 이전의 INSERT)를 제어해야 하는 상황에서 메서드를 호출 GetChanges 할 수 있습니다. 자세한 내용은 DataAdapters를 사용하여 데이터 원본 업데이트를 참조하세요.
INSERT, UPDATE 또는 DELETE 문이 지정되지 않은 경우 메서드는 Update 예외를 생성합니다. 그러나 .NET Framework 데이터 공급자의 속성을 설정하는 SelectCommand 경우 단일 테이블 업데이트에 대한 SQL 문을 자동으로 생성하는 개체 또는 OleDbCommandBuilder 개체를 만들 SqlCommandBuilder 수 있습니다. 그런 다음, 설정하지 않은 추가 SQL 문은 CommandBuilder에 의해 생성됩니다. 이 생성 논리에는 키 열 정보가 DataSet있어야 합니다. 자세한 내용은 CommandBuilders를 사용하여 명령 생성을 참조하세요.
이 메서드는 Update 업데이트를 수행하기 전에 첫 번째 매핑에 나열된 테이블에서 행을 검색합니다. 그런 Update 다음 속성 값을 UpdatedRowSource 사용하여 행을 새로 고칩니다. 반환된 모든 추가 행은 무시됩니다.
데이터가 다시 DataSetOnRowUpdated 로드되면 이벤트가 발생하므로 사용자가 조정된 행과 명령에서 반환된 DataSet 출력 매개 변수를 검사할 수 있습니다. 행이 성공적으로 업데이트되면 해당 행의 변경 내용이 수락됩니다.
사용하는 Update경우 실행 순서는 다음과 같습니다.
해당 값은 DataRow 매개 변수 값으로 이동됩니다.
OnRowUpdating 이벤트가 발생합니다.
명령이 실행됩니다.
명령이 설정
FirstReturnedRecord되면 반환된 첫 번째 결과가 .에 DataRow배치됩니다.출력 매개 변수 DataRow가 있는 경우 .
OnRowUpdated 이벤트가 발생합니다.
AcceptChanges을 호출합니다.
일반적으로 연결된 DbDataAdapter 각 명령에는 연결된 매개 변수 컬렉션이 있습니다. 매개 변수는 .NET Framework 데이터 공급자 Parameter 클래스의 속성 및 SourceVersion 속성을 통해 SourceColumn 현재 행에 매핑됩니다.
SourceColumn 는 DataTable 현재 행에 DbDataAdapter 대한 매개 변수 값을 가져오기 위해 참조하는 열을 나타냅니다.
SourceColumn 는 테이블 매핑이 적용되기 전에 매핑되지 않은 열 이름을 나타냅니다. 존재하지 않는 열을 참조하는 경우 SourceColumn 수행되는 작업은 다음 MissingMappingAction 값 중 하나에 따라 달라집니다.
| 열거형 값 | 수행한 작업 |
|---|---|
MissingMappingAction.Passthrough |
매핑이 없는 경우 원본 열 이름과 테이블 이름을 DataSet 사용합니다. |
MissingMappingAction.Ignore |
A SystemException 가 생성됩니다. 매핑이 명시적으로 설정되면 입력 매개 변수에 대한 누락된 매핑은 일반적으로 오류의 결과입니다. |
MissingMappingAction.Error |
A SystemException 가 생성됩니다. |
또한 이 SourceColumn 속성은 출력 또는 입력/출력 매개 변수의 값을 다시 에 매핑하는 DataSet데 사용됩니다. 존재하지 않는 열을 참조하는 경우 예외가 생성됩니다.
.NET Framework 데이터 공급자 클래스의 속성은 SourceVersion 열 값의 Parameter 원본, 현재 버전 또는 제안된 버전을 사용할지 여부를 결정합니다. 이 기능은 낙관적 동시성 위반을 확인하기 위해 UPDATE 문의 WHERE 절에 원래 값을 포함하는 데 자주 사용됩니다.
메모
행을 업데이트하는 동안 오류가 발생하면 예외가 throw되고 업데이트 실행이 중단됩니다. 오류가 발생할 때 예외를 생성하지 않고 업데이트 작업을 계속하려면 호출Update하기 전에 속성을 true 설정합니다ContinueUpdateOnError. DataAdapter 이벤트 내에서 행별로 오류에 RowUpdated 응답할 수도 있습니다. 이벤트 내에서 RowUpdated 예외를 생성하지 않고 업데이트 작업을 계속하려면 to의 StatusRowUpdatedEventArgsContinue속성을 설정합니다.
추가 정보
적용 대상
Update(DataRow[])
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
- Source:
- DbDataAdapter.cs
지정된 배열 DataSet에서 삽입, 업데이트 또는 삭제된 각 행에 대해 해당 INSERT, UPDATE 또는 DELETE 문을 실행하여 데이터베이스의 값을 업데이트합니다.
public:
int Update(cli::array <System::Data::DataRow ^> ^ dataRows);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public int Update(System.Data.DataRow[] dataRows);
public int Update(System.Data.DataRow[] dataRows);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
override this.Update : System.Data.DataRow[] -> int
override this.Update : System.Data.DataRow[] -> int
Public Function Update (dataRows As DataRow()) As Integer
매개 변수
반환
에서 성공적으로 업데이트된 행 수 DataSet입니다.
- 특성
예외
DataSet 유효하지 않습니다.
원본 테이블이 잘못되었습니다.
INSERT, UPDATE 또는 DELETE 문을 실행하려고 하면 0개의 레코드가 영향을 받았습니다.
예제
다음 예제에서는 파생 클래스 OleDbDataAdapter를 사용하여 데이터 원본을 업데이트합니다.
public DataSet CreateCmdsAndUpdate(string connectionString,
string queryString)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(queryString, connection);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
connection.Open();
DataSet customers = new DataSet();
adapter.Fill(customers);
//code to modify data in dataset here
//Insert new records from DataSet
DataRow[] rows = customers.Tables[0].Select(
null, null, DataViewRowState.Added);
adapter.Update(rows);
return customers;
}
}
Public Function CreateCmdsAndUpdate(ByVal connectionString As String, _
ByVal queryString As String) As DataSet
Using connection As New OleDbConnection(connectionString)
Dim adapter As New OleDbDataAdapter()
adapter.SelectCommand = New OleDbCommand(queryString, connection)
Dim builder As New OleDbCommandBuilder(adapter)
connection.Open()
Dim customers As New DataSet()
adapter.Fill(customers)
' Code to modify data in DataSet here
' Insert new records from DataSet
Dim rows() As DataRow = customers.Tables(0).Select( _
Nothing, Nothing, DataViewRowState.Added)
adapter.Update(rows)
Return customers
End Using
End Function
설명
애플리케이션이 메서드를 Update 호출할 때 속성을 검사 RowState 하고 각 행에 대해 필요한 INSERT, UPDATE 또는 DELETE 문을 반복적으로 실행합니다DataSet.DbDataAdapter 예를 들어 Update DELETE 문을 실행한 다음 INSERT 문과 다른 DELETE 문을 실행할 수 있습니다 DataTable.
이러한 문은 일괄 처리 프로세스로 수행되지 않습니다. 각 행은 개별적으로 업데이트됩니다. 애플리케이션은 문 형식의 시퀀스(예: UPDAT 이전의 INSERT)를 제어해야 하는 상황에서 메서드를 호출 GetChanges 할 수 있습니다. 자세한 내용은 DataAdapters를 사용하여 데이터 원본 업데이트를 참조하세요.
INSERT, UPDATE 또는 DELETE 문이 지정되지 않은 경우 메서드는 Update 예외를 생성합니다. 그러나 .NET Framework 데이터 공급자의 속성을 설정하는 SelectCommand 경우 단일 테이블 업데이트에 대한 SQL 문을 자동으로 생성하는 개체 또는 OleDbCommandBuilder 개체를 만들 SqlCommandBuilder 수 있습니다. 그런 다음, 설정하지 않은 추가 SQL 문은 CommandBuilder에 의해 생성됩니다. 이 생성 논리에는 키 열 정보가 DataSet있어야 합니다. 자세한 내용은 CommandBuilders를 사용하여 명령 생성을 참조하세요.
이 메서드는 Update 업데이트를 수행하기 전에 첫 번째 매핑에 나열된 테이블에서 행을 검색합니다. 그런 Update 다음 속성 값을 UpdatedRowSource 사용하여 행을 새로 고칩니다. 반환된 모든 추가 행은 무시됩니다.
데이터가 다시 DataSetOnRowUpdated 로드되면 이벤트가 발생하므로 사용자가 조정된 행과 명령에서 반환된 DataSet 출력 매개 변수를 검사할 수 있습니다. 행이 성공적으로 업데이트되면 해당 행의 변경 내용이 수락됩니다.
사용하는 Update경우 실행 순서는 다음과 같습니다.
해당 값은 DataRow 매개 변수 값으로 이동됩니다.
OnRowUpdating 이벤트가 발생합니다.
명령이 실행됩니다.
명령이 설정
FirstReturnedRecord되면 첫 번째 반환된 결과가 에 DataRow배치됩니다.출력 매개 변수 DataRow가 있는 경우 .
OnRowUpdated 이벤트가 발생합니다.
AcceptChanges을 호출합니다.
일반적으로 연결된 DbDataAdapter 각 명령에는 연결된 매개 변수 컬렉션이 있습니다. 매개 변수는 .NET Framework 데이터 공급자 Parameter 클래스의 속성 및 SourceVersion 속성을 통해 SourceColumn 현재 행에 매핑됩니다.
SourceColumn 는 DataTable 현재 행에 DbDataAdapter 대한 매개 변수 값을 가져오기 위해 참조하는 열을 나타냅니다.
SourceColumn 는 테이블 매핑이 적용되기 전에 매핑되지 않은 열 이름을 나타냅니다. 존재하지 않는 열을 참조하는 경우 SourceColumn 수행되는 작업은 다음 MissingMappingAction 값 중 하나에 따라 달라집니다.
| 열거형 값 | 수행한 작업 |
|---|---|
MissingMappingAction.Passthrough |
매핑이 없는 경우 원본 열 이름과 테이블 이름을 DataSet 사용합니다. |
MissingMappingAction.Ignore |
A SystemException 가 생성됩니다. 매핑이 명시적으로 설정되면 입력 매개 변수에 대한 누락된 매핑은 일반적으로 오류의 결과입니다. |
MissingMappingAction.Error |
A SystemException 가 생성됩니다. |
또한 이 SourceColumn 속성은 출력 또는 입력/출력 매개 변수의 값을 다시 에 매핑하는 DataSet데 사용됩니다. 존재하지 않는 열을 참조하는 경우 예외가 생성됩니다.
.NET Framework 데이터 공급자 클래스의 속성은 SourceVersion 열 값의 Parameter 원본, 현재 버전 또는 제안된 버전을 사용할지 여부를 결정합니다. 이 기능은 낙관적 동시성 위반을 확인하기 위해 UPDATE 문의 WHERE 절에 원래 값을 포함하는 데 자주 사용됩니다.
메모
행을 업데이트하는 동안 오류가 발생하면 예외가 throw되고 업데이트 실행이 중단됩니다. 오류가 발생할 때 예외를 생성하지 않고 업데이트 작업을 계속하려면 호출Update하기 전에 속성을 true 설정합니다ContinueUpdateOnError. DataAdapter 이벤트 내에서 행별로 오류에 RowUpdated 응답할 수도 있습니다. 이벤트 내에서 RowUpdated 예외를 생성하지 않고 업데이트 작업을 계속하려면 to의 StatusRowUpdatedEventArgsContinue속성을 설정합니다.