调用方法为:
public void Delete(int ID)
{            int rowsAffected;
OracleParameter[] parameters = {
new OracleParameter("ID", OracleType.Number),
                    new OracleParameter("rf",OracleType.Number),
};
parameters[0].Value = ID;
         
            
            int i = DbHelperOra.RunProcedure("UP_IRRGUANLIJIGOU_Delete", parameters, out  rowsAffected);
}存储过程为:
create or replace procedure UP_IRRGUANLIJIGOU_Delete(ID in number,rf out number) is
begin
  DELETE From IRRGUANLIJIGOU jg
 WHERE jg.jgid = ID;
   rf := sql%rowcount;
end UP_IRRGUANLIJIGOU_Delete;
请高手帮忙解决,非常感谢!在线等(第一次使用oracle)

解决方案 »

  1.   

    create or replace procedure UP_IRRGUANLIJIGOU_Delete(ID in number,rf out number) is存初过程有两个参数
    OracleParameter[] parameters = {
    new OracleParameter("ID", OracleType.Number),
                        new OracleParameter("rf",OracleType.Number),
    };
    parameters[0].Value = ID;
    调用的地方只有一个参数,当然不对了
      

  2.   

    不好意思看错了是类型错误
    new OracleParameter("rf",OracleType.Number),
    第二个参数是out类型
      

  3.   

    OracleParameter[] parameters = new OracleParameter[2];
                parameters[0] = new OracleParameter("ID", OracleType.Number);
                parameters[0].Value = ID;            parameters[1] = new OracleParameter("rf", OracleType.Number);
                parameters[1].Direction = ParameterDirection.Output;