注册 登录
编程论坛 ASP.NET技术论坛

求助.........asp.net访问存储过程

mengya 发布于 2011-05-02 11:50, 482 次点击
create procedure PLogin
    (
    @name nvarchar(20),
    @pwd nvarchar(20),
    @count int output
    )
AS   
   select @count=count(*) from student where stuname=@name and stuPwd=@pwd
   RETURN



//////////////////////////////////////////////////////////////////////////////
             //在程序中访问如下
        SqlCommand cmd = new SqlCommand("PLogin", conn);
         = CommandType.StoredProcedure;
        cmd.Parameters.Add("@name", SqlDbType.NVarChar, 20);
        cmd.Parameters["@name"].Direction = ParameterDirection.Input;
        cmd.Parameters["@name"].Value = txtName.Text;

        cmd.Parameters.Add("@pwd", SqlDbType.NVarChar, 20);
        cmd.Parameters["@pwd"].Direction = ParameterDirection.Input;
        cmd.Parameters["@pwd"].Value = txtPwd.Text;

        cmd.Parameters.Add("@count", SqlDbType.Int);
        cmd.Parameters["@count"].Direction = ParameterDirection.Output;
          int num = (int)cmd.ExecuteScalar();//该行报错   未将对象引用设置到对象的实例
2 回复
#2
winners2011-05-03 09:16
执行语句后是空的吧
#3
zth822011-05-05 14:38
这样子会有时候取到是的NULL值,我个人觉得,你先用object取到对象,然后再判断是否为 null,再进行类型转换,不然就会像你这个报错信息一样的。
1