string addictno11;
       addictno11 = Request.Params["id"];
       OracleConnection conn = new OracleConnection("Data Source=duke;Persist Security Info=True;User ID=gxjd;Password=gxjd");
        conn.Open();
        OracleCommand cmd = new OracleCommand( );
        cmd.Connection = conn;
        cmd.CommandText = "DUKESELECT2";
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add(new OracleParameter("addictnox", OracleType.VarChar,20, addictno11));             
        cmd.ExecuteNonQuery();请问OracleParameter()的格式是指("addictnox", OracleType.VarChar,20, addictno11)
这个string addictno11是传给addictnox.我这个格式对吗..

解决方案 »

  1.   

    try
    {
           string addictno11;
           addictno11 = Request.Params["id"];
           OracleConnection conn = new OracleConnection("Data Source=duke;Persist Security Info=True;User ID=gxjd;Password=gxjd"); 
            OracleCommand cmd = new OracleCommand( );
            cmd.Connection = conn;
            cmd.CommandText = "DUKESELECT2";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(new OracleParameter("addictnox", OracleType.VarChar,20, addictno11));                     conn.Open();
            cmd.ExecuteNonQuery();
            conn.close();
    }catch(Exception ex)
    {
    }
      

  2.   

    大致对的,当conn.Open()要放再后面,因为你还未给它指明OracleCommand是谁,结果将会错误!
      

  3.   

    PROCEDURE DUKESELECT2
       (addictnox in varchar2)
       AS
       CURSOR T1
       IS
       select photo,nationalitycd.NationalityDesc,sexcd.sexdesc,educd.edudesc,vocationcd.vocationdesc
       from addict,sexcd, NationalityCD,educd,vocationcd
       where  (addict.Nationality =nationalitycd.NationalityID(+)) and (addict.sex =sexcd.sexid(+))
             and (addict.education =educd.eduid(+)) and (addict.vocation =vocationcd.vocationid(+))
             and addictno = addictnox;
             
             XX T1%rowtype;
    BEGIN
        open  T1;
        fetch T1 INTO XX;
        CLOSE T1;END;
    恩恩..问题又出现了..我的存储过程是这个..在ASP中执行会说
    cmd.ExecuteNonQuery()调用存储过程DUKESELECT2时候参数数量或类型出错..
    在SQL里面语句是正确的,我不晓得ASP传入那个ADDICTNOX是不是错了?这样的错误一般是出现在哪.