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