问题描述
我才开始看存储过程,遇到个小问题,不知道怎样解决,特请教下各位.我把代码简化下-->>存储过程:REATEPROCEDUREtestASdeclare@usernameASvarchar(50)select*fromcw_loginwherecw_login_username=@usernamereturnGO代码:try{SqlConnectioncon=DBcon.createCon();SqlDataAdaptersda=newSqlDataAdapter();SqlCommandcmd=newSqlCommand("test",con);sda.SelectCommand=cmd;cmd.CommandType=CommandType.StoredProcedure;SqlParametersp=newSqlParameter("@username",SqlDbType.VarChar,50);sp.Direction=ParameterDirection.Input;sp.Value=this.TextBox1.Text;cmd.Parameters.Add(sp);DataSetds=newDataSet();sda.Fill(ds);this.dg.DataKeyField="cw_login_id";this.dg.DataSource=ds.Tables[0];this.dg.DataBind();}catch(Exceptionex){Response.Write(ex.Message);}运行后提示:过程test没有参数,但却为该过程提供了参数。请哪位给我说说哪里有问题?
解决方案
解决方案二:
存储过程写错了..CreateProceduretest(@usernameVarChar(50))ASselect*fromcw_loginwherecw_login_username=@username
解决方案三:
存储过程声明有误,更改如下:CREATEPROCEDUREtest@usernameASvarchar(50)ASselect*fromcw_loginwherecw_login_username=@usernamereturnGO
解决方案四:
原来是犯了语法的低级错误,非常感谢楼上二位的回复.谢谢