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
堆栈跟踪:
数据库连接没问题,
------解决方案--------------------
肯定不对啥,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?肯定对象名无效啊。