DbDataAdapter.Update メソッド (DataRow[], DataTableMapping)
アセンブリ: System.Data (system.data.dll 内)

Protected Overridable Function Update ( _ dataRows As DataRow(), _ tableMapping As DataTableMapping _ ) As Integer
Dim dataRows As DataRow() Dim tableMapping As DataTableMapping Dim returnValue As Integer returnValue = Me.Update(dataRows, tableMapping)
戻り値
DataSet 内で正常に更新された行の数。


アプリケーションが Update メソッドを呼び出すと、DbDataAdapter は、RowState プロパティを調べ、DataSet に設定されているインデックスの順序に基づいて、要求された INSERT、UPDATE、または DELETE ステートメントを各行に対して反復的に実行します。たとえば、Update が呼び出されたときに、DataTable 内の行の順序に応じて、DELETE ステートメントを実行し、INSERT ステートメントを実行してから、別の DELETE ステートメントを実行することなどがあります。
これらのステートメントはバッチ処理として実行されるのではない点に注意してください。各行は個別に更新されます。UPDATE の前に INSERT を実行するなど、ステートメントの種類のシーケンスを制御する必要がある場合は、アプリケーションから GetChanges メソッドを呼び出すことができます。詳細については、「DataAdapter によるデータ ソースの更新」を参照してください。
INSERT、UPDATE または DELETE ステートメントが指定されていない場合、Update メソッドでは、例外が生成されます。ただし、.NET Framework データ プロバイダの SelectCommand プロパティを設定した場合は、単一テーブルを更新する SQL ステートメントを自動的に生成する SqlCommandBuilder または OleDbCommandBuilder オブジェクトを作成できます。これによって、追加の SQL ステートメントが、CommandBuilder によって自動的に生成されます。この生成ロジックでは、DataSet 内にキー列情報が存在している必要があります。詳細については、「コマンドの自動生成」を参照してください。
Update メソッドは、更新の実行前の最初のマップに示されたテーブルから行を取得します。次に Update は、UpdatedRowSource プロパティの値を使用して行を更新します。返された追加の行はすべて無視されます。
DataSet にデータが戻されるたびに、OnRowUpdated イベントが発生します。これによって、ユーザーは、DataSet の調整済みの行、およびコマンドによって返された出力パラメータを検査できます。行が正常に更新されると、その行に対する変更が受け入れられます。
Update を使用するときは、次の順序で処理が実行されます。
DbDataAdapter に関連付けられた各コマンドには、通常、パラメータ コレクションが関連付けられています。パラメータは、.NET Framework データ プロバイダの Parameter クラスの SourceColumn プロパティおよび SourceVersion プロパティを通じて現在の行に割り当てられます。SourceColumn は、DbDataAdapter が現在の行のパラメータ値を取得するために参照する DataTable 列を参照します。
テーブル マップが適用される前は、SourceColumn は、割り当てられていない列名を参照します。SourceColumn が参照している列が存在しない場合は、MissingMappingAction 値に応じて次のアクションが実行されます。
列挙値 | |
---|---|
MissingMappingAction.Passthrough | |
MissingMappingAction.Ignore | SystemException が生成されます。マップが明示的に設定された場合、入力パラメータに関してマップが存在しないときは、通常、エラーになります。 |
MissingMappingAction.Error |
SourceColumn プロパティは、マップを通じて出力パラメータまたは入出力パラメータの値を DataSet に戻すときにも使用されます。プロパティが、存在しない列を参照している場合は、例外が生成されます。
.NET Framework データ プロバイダの Parameter クラスの SourceVersion プロパティは、Original、Current、または Proposed のどのバージョンの列値を使用するかを指定します。この機能は、UPDATE ステートメントの WHERE 句に元の値を含めて、オプティミスティック同時実行違反をチェックするためによく使用されます。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Update メソッド (DataRow[])
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DbDataAdapter Dim dataRows As DataRow() Dim returnValue As Integer returnValue = instance.Update(dataRows)
戻り値
DataSet 内で正常に更新された行の数。


アプリケーションが Update メソッドを呼び出すと、DbDataAdapter は、RowState プロパティを調べ、DataSet に設定されているインデックスの順序に基づいて、要求された INSERT、UPDATE、または DELETE ステートメントを各行に対して反復的に実行します。たとえば、Update が呼び出されたときに、DataTable 内の行の順序に応じて、DELETE ステートメントを実行し、INSERT ステートメントを実行してから、別の DELETE ステートメントを実行することなどがあります。
これらのステートメントはバッチ処理として実行されるのではない点に注意してください。各行は個別に更新されます。UPDATE の前に INSERT を実行するなど、ステートメントの種類のシーケンスを制御する必要がある場合は、アプリケーションから GetChanges メソッドを呼び出すことができます。詳細については、「DataAdapter によるデータ ソースの更新」を参照してください。
INSERT、UPDATE または DELETE ステートメントが指定されていない場合、Update メソッドでは、例外が生成されます。ただし、.NET Framework データ プロバイダの SelectCommand プロパティを設定した場合は、単一テーブルを更新する SQL ステートメントを自動的に生成する SqlCommandBuilder または OleDbCommandBuilder オブジェクトを作成できます。これによって、追加の SQL ステートメントが、CommandBuilder によって自動的に生成されます。この生成ロジックでは、DataSet 内にキー列情報が存在している必要があります。詳細については、「コマンドの自動生成」を参照してください。
Update メソッドは、更新の実行前の最初のマップに示されたテーブルから行を取得します。次に Update は、UpdatedRowSource プロパティの値を使用して行を更新します。返された追加の行はすべて無視されます。
DataSet にデータが戻されるたびに、OnRowUpdated イベントが発生します。これによって、ユーザーは、DataSet の調整済みの行、およびコマンドによって返された出力パラメータを検査できます。行が正常に更新されると、その行に対する変更が受け入れられます。
Update を使用するときは、次の順序で処理が実行されます。
DbDataAdapter に関連付けられた各コマンドには、通常、パラメータ コレクションが関連付けられています。パラメータは、.NET Framework データ プロバイダの Parameter クラスの SourceColumn プロパティおよび SourceVersion プロパティを通じて現在の行に割り当てられます。SourceColumn は、DbDataAdapter が現在の行のパラメータ値を取得するために参照する DataTable 列を参照します。
テーブル マップが適用される前は、SourceColumn は、割り当てられていない列名を参照します。SourceColumn が参照している列が存在しない場合は、MissingMappingAction 値に応じて次のアクションが実行されます。
列挙値 | |
---|---|
MissingMappingAction.Passthrough | |
MissingMappingAction.Ignore | SystemException が生成されます。マップが明示的に設定された場合、入力パラメータに関してマップが存在しないときは、通常、エラーになります。 |
MissingMappingAction.Error |
SourceColumn プロパティは、マップを通じて出力パラメータまたは入出力パラメータの値を DataSet に戻すときにも使用されます。プロパティが、存在しない列を参照している場合は、例外が生成されます。
.NET Framework データ プロバイダの Parameter クラスの SourceVersion プロパティは、Original、Current、または Proposed のどのバージョンの列値を使用するかを指定します。この機能は、UPDATE ステートメントの WHERE 句に元の値を含めて、オプティミスティック同時実行違反をチェックするためによく使用されます。

OleDbDataAdapter 派生クラスを使用して、データ ソースを更新する例を次に示します。
Public Function CreateCmdsAndUpdate(ByVal dataSet As DataSet, _ 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 OleDbCommandBuilder = New OleDbCommandBuilder(adapter) connection.Open() Dim customers As DataSet = 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
public DataSet CreateCmdsAndUpdate(DataSet dataSet, 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; } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Update メソッド (DataSet, String)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DbDataAdapter Dim dataSet As DataSet Dim srcTable As String Dim returnValue As Integer returnValue = instance.Update(dataSet, srcTable)
戻り値
DataSet 内で正常に更新された行の数。


アプリケーションが Update メソッドを呼び出すと、DbDataAdapter は、RowState プロパティを調べ、DataSet に設定されているインデックスの順序に基づいて、要求された INSERT、UPDATE、または DELETE ステートメントを各行に対して反復的に実行します。たとえば、Update が呼び出されたときに、DataTable 内の行の順序に応じて、DELETE ステートメントを実行し、INSERT ステートメントを実行してから、別の DELETE ステートメントを実行することなどがあります。
これらのステートメントはバッチ処理として実行されるのではない点に注意してください。各行は個別に更新されます。UPDATE の前に INSERT を実行するなど、ステートメントの種類のシーケンスを制御する必要がある場合は、アプリケーションから GetChanges メソッドを呼び出すことができます。詳細については、「DataAdapter によるデータ ソースの更新」を参照してください。
INSERT、UPDATE または DELETE ステートメントが指定されていない場合、Update メソッドでは、例外が生成されます。ただし、.NET Framework データ プロバイダの SelectCommand プロパティを設定した場合は、単一テーブルを更新する SQL ステートメントを自動的に生成する SqlCommandBuilder または OleDbCommandBuilder オブジェクトを作成できます。これによって、追加の SQL ステートメントが、CommandBuilder によって自動的に生成されます。この生成ロジックでは、DataSet 内にキー列情報が存在している必要があります。詳細については、「コマンドの自動生成」を参照してください。
Update メソッドは、大文字と小文字の違いを除いて名前が一致する DataTable オブジェクトが DataSet 内に複数含まれる場合に、それらを区別します。このようなテーブルが DataSet 内に複数存在する場合、Update は、大文字と小文字を区別して比較を実行し、対応するテーブルを見つけます。正確に一致するテーブルが存在しない場合は、例外を生成します。この動作を表す 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.
Update を呼び出したときに、大文字と小文字の違いを除いて名前が一致する DataTable が DataSet 内に 1 つだけ含まれている場合は、その DataTable が更新されます。この場合は、比較のときに大文字と小文字が区別されません。この動作を表す 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 プロパティの値を使用して行を更新します。返された追加の行はすべて無視されます。
DataSet にデータが戻されるたびに、OnRowUpdated イベントが発生します。これによって、ユーザーは、DataSet の調整済みの行、およびコマンドによって返された出力パラメータを検査できます。行が正常に更新されると、その行に対する変更が受け入れられます。
Update を使用するときは、次の順序で処理が実行されます。
DbDataAdapter に関連付けられた各コマンドには、通常、パラメータ コレクションが関連付けられています。パラメータは、.NET Framework データ プロバイダの Parameter クラスの SourceColumn プロパティおよび SourceVersion プロパティを通じて現在の行に割り当てられます。SourceColumn は、DbDataAdapter が現在の行のパラメータ値を取得するために参照する DataTable 列を参照します。
テーブル マップが適用される前は、SourceColumn は、割り当てられていない列名を参照します。SourceColumn が参照している列が存在しない場合は、MissingMappingAction 値に応じて次のアクションが実行されます。
列挙値 | |
---|---|
MissingMappingAction.Passthrough | |
MissingMappingAction.Ignore | SystemException が生成されます。マップが明示的に設定された場合、入力パラメータに関してマップが存在しないときは、通常、エラーになります。 |
MissingMappingAction.Error |
SourceColumn プロパティは、マップを通じて出力パラメータまたは入出力パラメータの値を DataSet に戻すときにも使用されます。プロパティが、存在しない列を参照している場合は、例外が生成されます。
.NET Framework データ プロバイダの Parameter クラスの SourceVersion プロパティは、Original、Current、または Proposed のどのバージョンの列値を使用するかを指定します。この機能は、UPDATE ステートメントの WHERE 句に元の値を含めて、オプティミスティック同時実行違反をチェックするためによく使用されます。

OleDbDataAdapter 派生クラスを使用して、データ ソースを更新する例を次に示します。
Public Function CreateCmdsAndUpdate(ByVal dataSet As DataSet, _ 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 OleDbCommandBuilder = New OleDbCommandBuilder(adapter) connection.Open() Dim customers As DataSet = New DataSet adapter.Fill(customers) ' Code to modify data in DataSet here adapter.Update(customers, tableName) Return customers End Using End Function
public DataSet CreateCmdsAndUpdate(DataSet dataSet, 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; } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Update メソッド (DataSet)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DbDataAdapter Dim dataSet As DataSet Dim returnValue As Integer returnValue = instance.Update(dataSet)
戻り値
DataSet 内で正常に更新された行の数。

例外の種類 | 条件 |
---|---|
InvalidOperationException | |
DBConcurrencyException | INSERT ステートメント、UPDATE ステートメント、または DELETE ステートメントを実行しようとしましたが、影響を受けたレコードはありませんでした。 |

アプリケーションが Update メソッドを呼び出すと、DbDataAdapter は、RowState プロパティを調べ、DataSet に設定されているインデックスの順序に基づいて、要求された INSERT、UPDATE、または DELETE ステートメントを各行に対して反復的に実行します。たとえば、Update が呼び出されたときに、DataTable 内の行の順序に応じて、DELETE ステートメントを実行し、INSERT ステートメントを実行してから、別の DELETE ステートメントを実行することなどがあります。
これらのステートメントはバッチ処理として実行されるのではない点に注意してください。各行は個別に更新されます。UPDATE の前に INSERT を実行するなど、ステートメントの種類のシーケンスを制御する必要がある場合は、アプリケーションから GetChanges メソッドを呼び出すことができます。詳細については、「DataAdapter によるデータ ソースの更新」を参照してください。
INSERT、UPDATE または DELETE ステートメントが指定されていない場合、Update メソッドでは、例外が生成されます。ただし、.NET Framework データ プロバイダの SelectCommand プロパティを設定した場合は、単一テーブルを更新する SQL ステートメントを自動的に生成する SqlCommandBuilder または OleDbCommandBuilder オブジェクトを作成できます。これによって、追加の SQL ステートメントが、CommandBuilder によって自動的に生成されます。この生成ロジックでは、DataSet 内にキー列情報が存在している必要があります。詳細については、「コマンドの自動生成」を参照してください。
Update メソッドは、更新の実行前の最初のマップに示されたテーブルから行を取得します。次に Update は、UpdatedRowSource プロパティの値を使用して行を更新します。返された追加の行はすべて無視されます。
DataSet にデータが戻されるたびに、OnRowUpdated イベントが発生します。これによって、ユーザーは、DataSet の調整済みの行、およびコマンドによって返された出力パラメータを検査できます。行が正常に更新されると、その行に対する変更が受け入れられます。
Update を使用するときは、次の順序で処理が実行されます。
DbDataAdapter に関連付けられた各コマンドには、通常、パラメータ コレクションが関連付けられています。パラメータは、.NET Framework データ プロバイダの Parameter クラスの SourceColumn プロパティおよび SourceVersion プロパティを通じて現在の行に割り当てられます。SourceColumn は、DbDataAdapter が現在の行のパラメータ値を取得するために参照する DataTable 列を参照します。
テーブル マップが適用される前は、SourceColumn は、割り当てられていない列名を参照します。SourceColumn が参照している列が存在しない場合は、MissingMappingAction 値に応じて次のアクションが実行されます。
列挙値 | |
---|---|
MissingMappingAction.Passthrough | |
MissingMappingAction.Ignore | SystemException が生成されます。マップが明示的に設定された場合、入力パラメータに関してマップが存在しないときは、通常、エラーになります。 |
MissingMappingAction.Error |
SourceColumn プロパティは、マップを通じて出力パラメータまたは入出力パラメータの値を DataSet に戻すときにも使用されます。プロパティが、存在しない列を参照している場合は、例外が生成されます。
.NET Framework データ プロバイダの Parameter クラスの SourceVersion プロパティは、Original、Current、または Proposed のどのバージョンの列値を使用するかを指定します。この機能は、UPDATE ステートメントの WHERE 句に元の値を含めて、オプティミスティック同時実行違反をチェックするためによく使用されます。

OleDbDataAdapter 派生クラスを使用して、データ ソースを更新する例を次に示します。
Public Function CreateCmdsAndUpdate(ByVal dataSet As DataSet, _ 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 OleDbCommandBuilder = New OleDbCommandBuilder(adapter) connection.Open() Dim customers As DataSet = New DataSet adapter.Fill(customers) ' Code to modify data in DataSet here adapter.Update(customers) Return customers End Using End Function
public DataSet CreateCmdsAndUpdate(DataSet dataSet, 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; } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Update メソッド

名前 | 説明 |
---|---|
DbDataAdapter.Update (DataRow[]) | 指定した DataRow オブジェクト配列内の挿入行、更新行、または削除行に対して、INSERT、UPDATE、または DELETE ステートメントを個別に呼び出します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Update (DataSet) | 指定した DataSet 内の挿入行、更新行、または削除行に対して、INSERT、UPDATE、または DELETE ステートメントを個別に呼び出します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Update (DataTable) | 指定した DataTable 内の挿入行、更新行、または削除行に対して、INSERT、UPDATE、または DELETE ステートメントを個別に呼び出します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Update (DataRow[], DataTableMapping) | 指定した DataRow オブジェクト配列内の挿入行、更新行、または削除行に対して、INSERT、UPDATE、または DELETE ステートメントを個別に呼び出します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Update (DataSet, String) | 指定した DataTable 名を使用して、DataSet 内の挿入行、更新行、または削除行に対して、INSERT、UPDATE、または DELETE ステートメントを個別に呼び出します。 .NET Compact Framework によってサポートされています。 |

DbDataAdapter.Update メソッド (DataTable)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DbDataAdapter Dim dataTable As DataTable Dim returnValue As Integer returnValue = instance.Update(dataTable)
戻り値
DataSet 内で正常に更新された行の数。


アプリケーションが Update メソッドを呼び出すと、DbDataAdapter は、RowState プロパティを調べ、DataSet に設定されているインデックスの順序に基づいて、要求された INSERT、UPDATE、または DELETE ステートメントを各行に対して反復的に実行します。たとえば、Update が呼び出されたときに、DataTable 内の行の順序に応じて、DELETE ステートメントを実行し、INSERT ステートメントを実行してから、別の DELETE ステートメントを実行することなどがあります。
これらのステートメントはバッチ処理として実行されるのではない点に注意してください。各行は個別に更新されます。UPDATE の前に INSERT を実行するなど、ステートメントの種類のシーケンスを制御する必要がある場合は、アプリケーションから GetChanges メソッドを呼び出すことができます。詳細については、「DataAdapter によるデータ ソースの更新」を参照してください。
INSERT、UPDATE または DELETE ステートメントが指定されていない場合、Update メソッドでは、例外が生成されます。ただし、.NET Framework データ プロバイダの SelectCommand プロパティを設定した場合は、単一テーブルを更新する SQL ステートメントを自動的に生成する SqlCommandBuilder または OleDbCommandBuilder オブジェクトを作成できます。これによって、追加の SQL ステートメントが、CommandBuilder によって自動的に生成されます。この生成ロジックでは、DataSet 内にキー列情報が存在している必要があります。詳細については、「コマンドの自動生成」を参照してください。
Update メソッドは、更新の実行前の最初のマップに示されたテーブルから行を取得します。次に Update は、UpdatedRowSource プロパティの値を使用して行を更新します。返された追加の行はすべて無視されます。
DataSet にデータが戻されるたびに、OnRowUpdated イベントが発生します。これによって、ユーザーは、DataSet の調整済みの行、およびコマンドによって返された出力パラメータを検査できます。行が正常に更新されると、その行に対する変更が受け入れられます。
Update を使用するときは、次の順序で処理が実行されます。
DbDataAdapter に関連付けられた各コマンドには、通常、パラメータ コレクションが関連付けられています。パラメータは、.NET Framework データ プロバイダの Parameter クラスの SourceColumn プロパティおよび SourceVersion プロパティを通じて現在の行に割り当てられます。SourceColumn は、DbDataAdapter が現在の行のパラメータ値を取得するために参照する DataTable 列を参照します。
テーブル マップが適用される前は、SourceColumn は、割り当てられていない列名を参照します。SourceColumn が参照している列が存在しない場合は、MissingMappingAction 値に応じて次のアクションが実行されます。
列挙値 | |
---|---|
MissingMappingAction.Passthrough | |
MissingMappingAction.Ignore | SystemException が生成されます。マップが明示的に設定された場合、入力パラメータに関してマップが存在しないときは、通常、エラーになります。 |
MissingMappingAction.Error |
SourceColumn プロパティは、マップを通じて出力パラメータまたは入出力パラメータの値を DataSet に戻すときにも使用されます。プロパティが、存在しない列を参照している場合は、例外が生成されます。
.NET Framework データ プロバイダの Parameter クラスの SourceVersion プロパティは、Original、Current、または Proposed のどのバージョンの列値を使用するかを指定します。この機能は、UPDATE ステートメントの WHERE 句に元の値を含めて、オプティミスティック同時実行違反をチェックするためによく使用されます。

OleDbDataAdapter 派生クラスを使用して、データ ソースを更新する例を次に示します。
Public Function CreateCmdsAndUpdate(ByVal dataSet As DataSet, _ 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 OleDbCommandBuilder = New OleDbCommandBuilder(adapter) connection.Open() Dim customers As DataSet = New DataSet adapter.Fill(customers) ' Code to modify data in DataSet here adapter.Update(customers) Return customers End Using End Function
public DataSet CreateCmdsAndUpdate(DataSet dataSet, 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; } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からDbDataAdapter.Updateを検索する場合は、下記のリンクをクリックしてください。

- DbDataAdapter.Updateのページへのリンク