SqlDataReader dr = SelectCom.ExecuteReader();出错,SystemDataqlclient.sqlException,System.Invalid.op
//设置Conn对象的连接字符串stringConnSql=System.Configuration.ConfigurationManager.ConnectionStr...
//设置Conn对象的连接字符串
string ConnSql = System.Configuration.ConfigurationManager.ConnectionStrings["TzzjwpmsDBConnString"].ConnectionString;
SqlConnection Conn = new SqlConnection(ConnSql);
Conn.Open();
string SecPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(Password.Text,"MD5");
string StrinSQL = "select * form staffinfo where staff_id='" + TextboxStaff_id.Text + "'and realname='" + txtRealname.Text + "'and password='" + SecPwd + "'and staff_level='normal'";
SqlCommand SelectCom = new SqlCommand(StrinSQL, Conn);
SqlDataReader dr = SelectCom.ExecuteReader();
if (!dr.Read()) //判断输入正确否
{
Response.Write("<script language=javascript>alert('请重新正确职工编号、姓名和密码');</script>");
}
else
{
Response.Redirect("normal_staff.aspx");
}
dr.Close();
Conn.Close(); 展开
string ConnSql = System.Configuration.ConfigurationManager.ConnectionStrings["TzzjwpmsDBConnString"].ConnectionString;
SqlConnection Conn = new SqlConnection(ConnSql);
Conn.Open();
string SecPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(Password.Text,"MD5");
string StrinSQL = "select * form staffinfo where staff_id='" + TextboxStaff_id.Text + "'and realname='" + txtRealname.Text + "'and password='" + SecPwd + "'and staff_level='normal'";
SqlCommand SelectCom = new SqlCommand(StrinSQL, Conn);
SqlDataReader dr = SelectCom.ExecuteReader();
if (!dr.Read()) //判断输入正确否
{
Response.Write("<script language=javascript>alert('请重新正确职工编号、姓名和密码');</script>");
}
else
{
Response.Redirect("normal_staff.aspx");
}
dr.Close();
Conn.Close(); 展开
展开全部
SelectCom.ExecuteReader();抛异常多数是查询语句写的有问题,在
string StrinSQL = "select * form staffinfo where staff_id='" + TextboxStaff_id.Text + "'and realname='" + txtRealname.Text + "'and password='" + SecPwd + "'and staff_level='normal'";
这句设个断点然后debug,进入这句以后然后添加watch看看StrinSQL 的值,然后到SQL server对应的表去执行看看,应该是会报错的,然后改正下直到在SQL server里面能出结果,应该就OK了
string StrinSQL = "select * form staffinfo where staff_id='" + TextboxStaff_id.Text + "'and realname='" + txtRealname.Text + "'and password='" + SecPwd + "'and staff_level='normal'";
这句设个断点然后debug,进入这句以后然后添加watch看看StrinSQL 的值,然后到SQL server对应的表去执行看看,应该是会报错的,然后改正下直到在SQL server里面能出结果,应该就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的staff_id在数据库中是什么类型?int还是varchar? int的话 staff_id='" + TextboxStaff_id.Text + "'换成 staff_id=convert(int,'" + TextboxStaff_id.Text + "'),还有就是每个and前面要有空格,不论id是什么类型,空格都要有的.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检查连接字符串,检查SQL语句是否能正确执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询