日期:2014-05-20  浏览次数:21089 次

对象名无效!!!
 public SqlDataReader login(int uname, string password)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["office"].ConnectionString);
        con.Open();
        SqlCommand cmd = new SqlCommand("login_staff", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@s_id", SqlDbType.Int).Value = uname;
        cmd.Parameters.Add("@s_password", SqlDbType.VarChar, 16).Value = password;
        SqlDataReader dr = cmd.ExecuteReader();
        return dr;
    }
错误提示为:对象名  'staff' 无效。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 对象名  'staff' 无效。

源错误: 


行 69:         cmd.Parameters.Add("@s_id", SqlDbType.Int).Value = uname;
行 70:         cmd.Parameters.Add("@s_password", SqlDbType.VarChar, 16).Value = password;
行 71:         SqlDataReader dr = cmd.ExecuteReader();
行 72:         return dr;
行 73:     }
 

源文件: d:\WebSite6\App_Code\staff.cs    行: 71 

堆栈跟踪: 


数据库连接没问题,
------解决方案--------------------
引用:
引用:有staff这个表没有?

没有啊,我用户名及密码是存在yonghu这个表中的

肯定不对啥,yonghu这个表有s_id,s_password这两个字段吧
存储过程改一下
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[login_staff]
@s_id int,
@s_password varchar(16)
as
select s_id,s_password,r_name from yonghu where s_id=@s_id and s_password=@s_password
------解决方案--------------------
没有这个表,你的存储过程里面怎么还Select * From staff?肯定对象名无效啊。