0

我在 oracle 过程中有这个更新语句

规格:

PROCEDURE Update_G;

身体:

PROCEDURE Update_G
AS
BEGIN
  UPDATE group SET check_flag = 0 WHERE check_flag = 1;
  UPDATE employee SET check_flag = 0 WHERE check_flag = 1;
END Update_G;

当我从.net调用它的抛出错误时,这个过程:

PLS-00306: wrong number or types of arguments in call to Update_G

它从 oracle 运行,但从 .net 运行它的抛出错误。如果添加了输入参数,它可以工作,但我不需要任何参数。

点网代码:

Database db = GetOracleDbInstance(); 
object[] spParams = new object[0]; 
string spName = "Update_G"; 
db.ExecuteDataSet(spName, spParams); 

//这里没有参数,我也试过这个:

Database db = GetOracleDbInstance(); 
db.ExecuteNonQuery(CommandType.StoredProcedure, "Update_G");
4

1 回答 1

0


//过程需要的参数,如果没有参数则传递Null

Database db = GetOracleDbInstance(); 

string spName = "Update_G"; 
db.ExecuteDataSet(spName, Null); //or db.ExecuteDataSet(spName); try both


答案参考

于 2012-06-06T09:02:10.420 回答