当前位置:编程学习 > C#/ASP.NET >>

请教个问题,在线等起

我才开始看存储过程,遇到个小问题,不知道怎样解决,特请教下各位.我把代码简化下-->>
存储过程:
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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,