错误为:
ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'PROC_AA' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OracleClient.OracleException: ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'PROC_AA' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 源错误: 
行 86:  command.Parameters.Add(parameter_name);
行 87:  conn.Open();
行 88:  command.ExecuteNonQuery();
行 89:  conn.Close();
行 90:  this.show();
private void Button1_Click(object sender, System.EventArgs e)
{
string connstr="Data Source=orcl_linxin-peng;User ID=user_f;Password=user_f";
OracleConnection conn=new OracleConnection(connstr);
OracleCommand command=conn.CreateCommand();
command.CommandText="proc_aa";
command.CommandType=CommandType.StoredProcedure;
OracleParameter parameter_id= new OracleParameter("cvid",OracleType.VarChar,10);
parameter_id.Direction=ParameterDirection.Input;
parameter_id.Value=txt_id.Text;
command.Parameters.Add(parameter_id);
OracleParameter parameter_name= new OracleParameter("cname",OracleType.VarChar,10);
parameter_name.Direction=ParameterDirection.Input;
parameter_name.Value=txt_xml.Text;
command.Parameters.Add(parameter_name);
conn.Open();
command.ExecuteNonQuery();
conn.Close();
this.show(); }我的代码是:
 

解决方案 »

  1.   

    高手指点啊!
    小弟刚刚用oracle啊
      

  2.   

    OracleParameter parameter_id= new OracleParameter("cvid",OracleType.VarChar,10);
    parameter_id.Value=txt_id.Text;
    看看长度是不是超了?另外procedure里参数的名字比如cvid,在这里最好要对应
    数据类型一定要对应,数据库是VarChar还是varchar2还是char?
      

  3.   

    参数个数或类型错误 很明显的提示啊另外,在数据库操作的过程中,最好使用try...catch 来捕捉异常
      

  4.   

    我用的都是varchar(10)啊首先问这样写对不?
    OracleParameter parameter_id= new OracleParameter("cvid",OracleType.VarChar,10);
    parameter_id.Value=txt_id.Text;