OracleRowUpdatedEventArgs クラス
メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。
RowUpdated イベントのデータを提供します。このクラスは継承できません。
この型のすべてのメンバの一覧については、OracleRowUpdatedEventArgs メンバ を参照してください。
System.Object
System.EventArgs
System.Data.Common.RowUpdatedEventArgs
System.Data.OracleClient.OracleRowUpdatedEventArgs
NotInheritable Public Class OracleRowUpdatedEventArgs
Inherits RowUpdatedEventArgs
[C#]
public sealed class OracleRowUpdatedEventArgs : RowUpdatedEventArgs
[C++]
public __gc __sealed class OracleRowUpdatedEventArgs : public
RowUpdatedEventArgs
[JScript]
public class OracleRowUpdatedEventArgs extends RowUpdatedEventArgs
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
RowUpdated イベントは、行に対する Update が完了したときに発生します。
Update を使用すると、データ行が更新されるたびに 2 つのイベントが発生します。次の順序で処理が実行されます。
- DataRow 内の値が、パラメータ値に移動されます。
- OnRowUpdating イベントが発生します。
- コマンドが実行されます。
- コマンドが FirstReturnedRecord に設定されている場合は、最初に返された結果が DataRow に格納されます。
- 出力パラメータがある場合は、それが DataRow に格納されます。
- OnRowUpdated イベントが発生します。
- AcceptChanges が呼び出されます。
使用例
[Visual Basic, C#, C++] RowUpdating イベントと RowUpdated イベントを使用する方法を次の例に示します。
[Visual Basic, C#, C++] RowUpdating イベントは、次の出力を返します。
[Visual Basic, C#, C++] イベント引数: (command=System.Data.OracleClient.OracleCommand commandType=2 status=0)
[Visual Basic, C#, C++] RowUpdated イベントは、次の出力を返します。
[Visual Basic, C#, C++] イベント引数: (command=System.Data.OracleClient.OracleCommand commandType=2 recordsAffected=1 row=System.Data.DataRow[37] status=0)
'Handler for RowUpdating event.
Protected Shared Sub OnRowUpdating(sender As Object, e As OracleRowUpdatingEventArgs)
PrintEventArgs(e)
End Sub 'OnRowUpdating
'Handler for RowUpdated event.
Protected Shared Sub OnRowUpdated(sender As Object, e As OracleRowUpdatedEventArgs)
PrintEventArgs(e)
End Sub 'OnRowUpdated
'Entry point which delegates to C-style main Private Function.
Public Overloads Shared Sub Main()
System.Environment.ExitCode = Main(System.Environment.GetCommandLineArgs())
End Sub
Overloads Public Shared Function Main(args() As String) As Integer
Const CONNECTION_STRING As String = "Data Source=Oracle8i;Integrated Security=yes"
Const SELECT_ALL As String = "select * from Products"
'Create DataAdapter.
Dim rAdapter As New OracleDataAdapter(SELECT_ALL, CONNECTION_STRING)
Dim cb As OracleCommandBuilder = New OracleCommandBuilder(rAdapter)
'Create and fill DataSet (Select only first 5 rows.).
Dim rDataSet As New DataSet()
rAdapter.Fill(rDataSet, 0, 5, "Table")
'Modify DataSet.
Dim rTable As DataTable = rDataSet.Tables("Table")
rTable.Rows(0)(1) = "new product"
'Add handlers.
AddHandler rAdapter.RowUpdating, AddressOf OnRowUpdating
AddHandler rAdapter.RowUpdated, AddressOf OnRowUpdated
'Update--this operation fires two events (RowUpdating and RowUpdated) for each changed row.
rAdapter.Update(rDataSet, "Table")
'Remove handlers.
RemoveHandler rAdapter.RowUpdating, AddressOf OnRowUpdating
RemoveHandler rAdapter.RowUpdated, AddressOf OnRowUpdated
Return 0
End Function 'Main
Overloads Protected Shared Sub PrintEventArgs(args As OracleRowUpdatingEventArgs)
Console.WriteLine("OnRowUpdating")
Console.WriteLine(" event args: (" & " command=" & args.Command.CommandText & _
" commandType=" & args.StatementType & " status=" & args.Status & ")")
End Sub 'PrintEventArgs
Overloads Protected Shared Sub PrintEventArgs(args As OracleRowUpdatedEventArgs)
Console.WriteLine("OnRowUpdated")
Console.WriteLine(" event args: (" & " command=" & args.Command.CommandText & _
" commandType=" & args.StatementType & " recordsAffected=" & _
args.RecordsAffected & " status=" & args.Status & ")")
End Sub 'PrintEventArgs
End Class 'Form1
[C#]
// handler for RowUpdating event
protected static void OnRowUpdating(object sender, OracleRowUpdatingEventArgs e) {
PrintEventArgs(e);
}
//Handler for RowUpdated event.
protected static void OnRowUpdated(object sender, OracleRowUpdatedEventArgs e) {
PrintEventArgs(e);
}
public static int Main(String[] args) {
const string CONNECTION_STRING = "Data Source=Oracle8i;Integrated Security=yes";
const string SELECT_ALL = "select * from Products";
//Create DataAdapter.
OracleDataAdapter rAdapter = new OracleDataAdapter(SELECT_ALL, CONNECTION_STRING);
OracleCommandBuilder cb = new OracleCommandBuilder(rAdapter);
//Create and fill DataSet (Select only first 5 rows.).
DataSet rDataSet = new DataSet();
rAdapter.Fill(rDataSet, 0, 5, "Table");
//Modify DataSet.
DataTable rTable = rDataSet.Tables["Table"];
rTable.Rows[0][1] = "new product";
//Add handlers.
rAdapter.RowUpdating += new OracleRowUpdatingEventHandler( OnRowUpdating );
rAdapter.RowUpdated += new OracleRowUpdatedEventHandler( OnRowUpdated );
//Update--this operation fires two events (RowUpdating and RowUpdated) for each changed row.
rAdapter.Update(rDataSet, "Table");
//Remove handlers.
rAdapter.RowUpdating -= new OracleRowUpdatingEventHandler( OnRowUpdating );
rAdapter.RowUpdated -= new OracleRowUpdatedEventHandler( OnRowUpdated );
return 0;
}
protected static void PrintEventArgs(OracleRowUpdatingEventArgs args) {
Console.WriteLine("OnRowUpdating");
Console.WriteLine(" event args: ("+
" command=" + args.Command +
" commandType=" + args.StatementType +
" status=" + args.Status + ")");
}
protected static void PrintEventArgs(OracleRowUpdatedEventArgs args) {
Console.WriteLine("OnRowUpdated");
Console.WriteLine( " event args: ("+
" command=" + args.Command +
" commandType=" + args.StatementType +
" recordsAffected=" + args.RecordsAffected +
" status=" + args.Status + ")" );
}
[C++]
// handler for RowUpdating event
protected:
static void OnRowUpdating(Object* /*sender*/, OracleRowUpdatingEventArgs* e) {
PrintEventArgs(e);
}
//Handler for RowUpdated event.
static void OnRowUpdated(Object* /*sender*/, OracleRowUpdatedEventArgs* e) {
PrintEventArgs(e);
}
public:
static int main() {
String* CONNECTION_STRING = S"Data Source=Oracle8i;Integrated Security=yes";
String* SELECT_ALL = S"select * from Products";
//Create DataAdapter.
OracleDataAdapter* rAdapter = new OracleDataAdapter(SELECT_ALL, CONNECTION_STRING);
OracleCommandBuilder* cb = new OracleCommandBuilder(rAdapter);
//Create and fill DataSet (Select only first 5 rows.).
DataSet* rDataSet = new DataSet();
rAdapter->Fill(rDataSet, 0, 5, S"Table");
//Modify DataSet.
DataTable* rTable = rDataSet->Tables->Item[S"Table"];
rTable->Rows->Item[0]->Item[1] = S"new product";
//Add handlers.
rAdapter->RowUpdating += new OracleRowUpdatingEventHandler(0, OnRowUpdating );
rAdapter->RowUpdated += new OracleRowUpdatedEventHandler(0, OnRowUpdated );
//Update--this operation fires two events (RowUpdating and RowUpdated) for each changed row.
rAdapter->Update(rDataSet, S"Table");
//Remove handlers.
rAdapter->RowUpdating -= new OracleRowUpdatingEventHandler(0, OnRowUpdating );
rAdapter->RowUpdated -= new OracleRowUpdatedEventHandler(0, OnRowUpdated );
return 0;
}
protected:
static void PrintEventArgs(OracleRowUpdatingEventArgs* args) {
Console::WriteLine(S"OnRowUpdating");
Console::WriteLine(String::Format( S" event args: ( command={0} commandType={1} status={2})",
args->Command, __box(args->StatementType), __box(args->Status)));
}
static void PrintEventArgs(OracleRowUpdatedEventArgs* args) {
Console::WriteLine(S"OnRowUpdated");
Console::Write(String::Format( S" event args: ( command={0} commandType={1} ",
args->Command, __box(args->StatementType)) );
Console::WriteLine(String::Format( S"recordsAffected={0} status={1})",
__box(args->RecordsAffected), __box(args->Status)) );
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Data.OracleClient
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System.Data.Oracleclient (System.Data.Oracleclient.dll 内)
参照
OracleRowUpdatedEventArgs メンバ | System.Data.OracleClient 名前空間