Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OracleDataAdapter访问批插入的返回值_C#_Sql_Oracle - Fatal编程技术网

C# OracleDataAdapter访问批插入的返回值

C# OracleDataAdapter访问批插入的返回值,c#,sql,oracle,C#,Sql,Oracle,我正在使用Oracle.DataAccess.Client.OracleDataAdapter将行批插入到我们的系统中,批大小为250。我们需要为发生的每个插入使用批插入返回的值。适配器的创建方式如下: OracleDataAdapter adapter = MakeMyAdapter(cn, table.TableName); adapter.UpdateBatchSize = 250; adapter.RowUpdated += new OracleRowUpdatedEventHandle

我正在使用Oracle.DataAccess.Client.OracleDataAdapter将行批插入到我们的系统中,批大小为250。我们需要为发生的每个插入使用批插入返回的值。适配器的创建方式如下:

OracleDataAdapter adapter = MakeMyAdapter(cn, table.TableName);
adapter.UpdateBatchSize = 250;
adapter.RowUpdated += new OracleRowUpdatedEventHandler(adapter_Table_RowUpdated);
adapter.Update(table);
其中
table
是一个
DataTable
,其中包含我们要插入的行(正确命名为我们要插入的oracle表)
cn
是已建立oracle连接的
IDbConnection

MakeMyAdapter
中,将
适配器.InsertCommand
设置为新的
OracleCommand
,设置表映射等。根据插入的表动态生成插入。但本质上是

insert into myFirstTable (myPK, col1, col2) VALUES (mySequence.nextVal, :val1, :val2) returning myPK into :myReturnValue;
调用适配器\u Table\u RowUpdated处理程序时,我们会得到一个OracleRowUpdatedEventArgs(我们称之为“e”))。
e.Command
似乎是最后一个运行命令。如果我检查该命令,它有一组参数,这些参数与提供的
数据表中的最后一行一致,但是命令上的
myReturnValues
参数为空,我看不到从事件中获取所有不同
myReturnValues
的方法。我已经看过了执行
e.CopyToRows
,但这看起来是来自DataTable的输入行,而不是命令的结果(这很有意义)

我的问题是:这是使用
OracleDataAdapter
s支持的解决方案吗?我应该能够从
或clerowUpdatedEventargs
中获取所有行的单个返回值吗?如果是,如何获取