asp.net中的update问题

做了一个更改密码的页面,代码如下,运行后提示“UPDATE语句的语法错误”请问问题出在什么地方啊?stringid=TextBox1.Text.ToString();st... 做了一个更改密码的页面,代码如下,运行后提示“UPDATE 语句的语法错误”请问问题出在什么地方啊?
string id = TextBox1.Text.ToString();
string psw = TextBox2.Text.ToString();
string Newpsw = TextBox3.Text.ToString();

OleDbConnection myConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/App_Data/mydb.mdb"));
string DrPwd;
string mysql = string.Format("select * from users where userID='{0}'", id);
OleDbCommand myCmd = new OleDbCommand(mysql, myConn);
myCmd.Connection.Open();
OleDbDataReader Dr;
Dr = myCmd.ExecuteReader();
Dr.Read();
DrPwd = Dr["Password"].ToString();
Dr.Close();
myCmd.Connection.Close();
if (DrPwd == psw)
{
string mySQL = string.Format("update users set Password ='"+ Newpsw +"' where userID = '"+ id +"'");
OleDbCommand myCmd2 = new OleDbCommand(mySQL,myConn);
myCmd2.Connection.Open();
myCmd2.ExecuteNonQuery();
myCmd2.Connection.Close();
}
展开
 我来答
myun18
2009-11-21 · 超过34用户采纳过TA的回答
知道小有建树答主
回答量:70
采纳率:100%
帮助的人:36.3万
展开全部
他这句都能通过说明ID也是字符的了
string mysql = string.Format("select * from users where userID='{0}'", id);
=================================================================

你把UPDATE语句改为这个

string mySQL = string.Format("update [users] set [Password] ='{0}' where [userID] = '{1}'",Newpsw,id);
关键是用方括号把 表名 和 字段名 括起来。

但是你这样的SQL语句拼接是不安全的,建议加入 敏感字符 检验。
你的密码也不经过加密,如果在密码或ID的随便一个地方输入有'等敏感字符,你程序还是报错。遇到捣蛋的就是SQL注入了哦
录雷举j
2009-11-21 · 超过18用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:46.4万
展开全部
string mySQL = string.Format("update users set Password ='"+ Newpsw +"' where userID = '"+ id +"'");
改为:
string mySQL = string.Format("update users set Password ='"+ Newpsw +"' where userID = "+ id );
试试?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
neu_bao
2009-11-21 · TA获得超过356个赞
知道小有建树答主
回答量:584
采纳率:0%
帮助的人:464万
展开全部
Password 是 保留字,你不能用"Password"作字段名,改一个就可以了,我试过了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式