
十万火急,求救!!!最好能留下qq。万分感激! 在将 varchar 值 'System.Web.UI.WebControls.TextBox' 转
protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){stringname=this.us...
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string name = this.usrname.Text.Trim();
string pwd = this.password.Text.Trim();
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
string sqlStr = string.Format(" select COUNT(*) from admin1 where name1='{0}' and password1='{1}'", name, password);
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand cmd = new SqlCommand(sqlStr, conn);
int n = Convert.ToInt32(cmd.ExecuteScalar());
if (n > 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "",
"<script> location.href = 'shouye.aspx'</script>"
);
}
else
{
ClientScript.RegisterStartupScript(
this.GetType(), "", "<script>alert('用户名或密码错误!')</script>"
);
}
小弟在‘登录‘按钮中实现的验证数据库账户密码的功能,基本代码应该没什么问题,运行时出现
!!!在将 varchar 值 'System.Web.UI.WebControls.TextBox' 转换成数据类型 int 时失败。,数据库中name和pasword类型是char(10)和int。。不知道问题在哪,求帮助,不胜感激!!! 展开
{
string name = this.usrname.Text.Trim();
string pwd = this.password.Text.Trim();
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
string sqlStr = string.Format(" select COUNT(*) from admin1 where name1='{0}' and password1='{1}'", name, password);
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand cmd = new SqlCommand(sqlStr, conn);
int n = Convert.ToInt32(cmd.ExecuteScalar());
if (n > 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "",
"<script> location.href = 'shouye.aspx'</script>"
);
}
else
{
ClientScript.RegisterStartupScript(
this.GetType(), "", "<script>alert('用户名或密码错误!')</script>"
);
}
小弟在‘登录‘按钮中实现的验证数据库账户密码的功能,基本代码应该没什么问题,运行时出现
!!!在将 varchar 值 'System.Web.UI.WebControls.TextBox' 转换成数据类型 int 时失败。,数据库中name和pasword类型是char(10)和int。。不知道问题在哪,求帮助,不胜感激!!! 展开
4个回答
展开全部
string name = this.usrname.Text.Trim();
----string pwd = this.password.Text.Trim();name和pasword类型是char(10)和int---
你获取密码类型就是string,而你数据表里面的是int当然错了!
你要么去该表的字段类型。
要么把获取的pass值转换成整形
----string pwd = this.password.Text.Trim();name和pasword类型是char(10)和int---
你获取密码类型就是string,而你数据表里面的是int当然错了!
你要么去该表的字段类型。
要么把获取的pass值转换成整形
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
pasword是int的话, string sqlStr = string.Format(" select COUNT(*) from admin1 where name1='{0}' and password1='{1}'", name, password);
上面这句就有问题,需要把password1='{1}'"两边的单引号去掉,写成:
string sqlStr = string.Format(" select COUNT(*) from admin1 where name1='{0}' and password1={1}", name, password);
上面这句就有问题,需要把password1='{1}'"两边的单引号去掉,写成:
string sqlStr = string.Format(" select COUNT(*) from admin1 where name1='{0}' and password1={1}", name, password);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char类型的10个是固定的10个数字, 也就是说,你输入1个它还是10个。 。 你用varchar类型的试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
469629140 加
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询