Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.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#ExecuteNonQuery()不';t从oracle过程返回行计数_C#_Oracle_Plsqldeveloper_Oledbcommand - Fatal编程技术网

C#ExecuteNonQuery()不';t从oracle过程返回行计数

C#ExecuteNonQuery()不';t从oracle过程返回行计数,c#,oracle,plsqldeveloper,oledbcommand,C#,Oracle,Plsqldeveloper,Oledbcommand,正如标题所述,当我调用ExecuteNonQuery()方法时,当插入的记录为14时,它返回1,例如。我尝试在我的打包过程中添加SET FEEDBACK ON命令,但仍然得到相同的结果。有人对此有什么建议吗 //C# int rowCount = cmd.ExecuteNonQuery(); --ORACLE SET FEEDBACK ON; CREATE OR REPLACE PACKAGE BODY ABC IS PROCEDURE insert_data BEGIN ..

正如标题所述,当我调用
ExecuteNonQuery()
方法时,当插入的记录为14时,它返回1,例如。我尝试在我的打包过程中添加
SET FEEDBACK ON
命令,但仍然得到相同的结果。有人对此有什么建议吗

//C#
int rowCount = cmd.ExecuteNonQuery();

--ORACLE
SET FEEDBACK ON;
CREATE OR REPLACE PACKAGE BODY ABC IS
  PROCEDURE insert_data
  BEGIN
    ...
  END insert_data;
END ABC;

//Result of rowcount
 rowCount = 1;

PS:我想我可以从过程OUT param返回插入的值,但我只是想知道我是否遗漏了什么。谢谢

在插入后检查是否有任何set语句、更新等,我敢打赌这就是问题所在,它们都会影响rowcount。该值仅对DML操作有效,对PL/SQL块无效。对于任何PL/SQL块或存储过程,都会将值设为1。还有其他方法可以使用Oracle过程从ExecuteOnQuery()检索插入行数吗?谢谢你的帮助@:user1892538