请教个问题,在线等起
我才开始看存储过程,遇到个小问题,不知道怎样解决,特请教下各位.我把代码简化下-->>存储过程:
REATE PROCEDURE test AS
declare @username AS varchar(50)
select * from cw_login where cw_login_username=@username
return
GO
代码:
try
{
SqlConnection con = DBcon.createCon();
SqlDataAdapter sda = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("test", con);
sda.SelectCommand = cmd;
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter sp = new SqlParameter("@username", SqlDbType.VarChar, 50 );
sp.Direction = ParameterDirection.Input;
sp.Value = this.TextBox1.Text;
cmd.Parameters.Add(sp);
DataSet ds = new DataSet();
sda.Fill(ds);
this.dg.DataKeyField = "cw_login_id";
this.dg.DataSource = ds.Tables[0];
this.dg.DataBind();
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
运行后提示:过程 test 没有参数,但却为该过程提供了参数。 请哪位给我说说哪里有问题? --------------------编程问答-------------------- 存储过程写错了..
--------------------编程问答-------------------- 存储过程声明有误,更改如下:
Create Procedure test
(
@username VarChar(50)
)
AS
select * from cw_login where cw_login_username=@username
--------------------编程问答-------------------- 原来是犯了语法的低级错误,非常感谢楼上二位的回复.谢谢
CREATE PROCEDURE test
@username AS varchar(50)
AS
select * from cw_login where cw_login_username=@username
return
GO
补充:.NET技术 , ASP.NET