我的程序代码如下:OleDbConnection myconn = new OleDbConnection(myconnstr);
OleDbCommand mycomm = new OleDbCommand("proc_PayUsingCard_For_PrepaySubscriber",myconn);
mycomm.CommandType = CommandType.StoredProcedure;

mycomm.Parameters.Add("@username",username.Text);      OleDbParameter paramoney = new OleDbParameter("@the_money",OleDbType.Currency);
paramoney.Direction = ParameterDirection.Output;
mycomm.Parameters.Add(paramoney);

OleDbParameter parareturn = new OleDbParameter("RETURN_VALUE",OleDbType.Integer);
                                              //估计错在这里,不知道该怎么写returnvalue
parareturn.Direction = ParameterDirection.ReturnValue;
mycomm.Parameters.Add(parareturn);myconn.Open();
mycomm.ExecuteNonQuery();在存储过程中定义了username,teh_money参数,但没有定义return参数,直接用return 100这样的形式返回值,现在我的问题是取不到return返回的值,用上面的程序报如下错误:
   为过程或函数 proc_PayUsingCard_For_PrepaySubscriber 指定的参数太多请高人指点,注意是使用OleDb类,SqlClient类的我已经调试通过了,谢谢!

解决方案 »

  1.   

    OleDbParameter parareturn = new OleDbParameter("RETURN_VALUE",OleDbType.Integer);改:OleDbParameter parareturn = new OleDbParameter("◎RETURN_VALUE",OleDbType.Integer);Int32 returnValu= (Int32)mycomm .Parameters["return"].Value
      

  2.   

    http://webasp.net/tech/article_show.asp?id=2105
      

  3.   

    http://218.27.204.17/aspnet/a_user.aspx
      

  4.   

    TO: niohuang() 我用过你说的方法,但还是一样的错误大哥们,帮我一下
      

  5.   

    语法没什么问题,不过返回值的参数对象必须是 Parameters 集合中的第一项。把RETURN_VALUE定义到最前面去就行了。
      

  6.   

    OleDbParameter parareturn = new OleDbParameter("RETURN_VALUE",OleDbType.Integer);
    -------------
    应该是
    OleDbParameter parareturn = new OleDbParameter("@ReturnValue",OleDbType.Integer);