首页 新闻 会员 周边

大家帮忙看看,这是怎么回事

0
悬赏园豆:5 [已解决问题] 解决于 2011-03-31 16:38

要更新一下access2007,结果总是提示update语句错误,感觉应该没错呀,大家帮忙看看,是哪出问题了

OleDbCommand command2 = new OleDbCommand(("UPDATE user SET password=@password WHERE name=@name"),conn);
command2.Parameters.Add(
"@password", OleDbType.Char);
command2.Parameters[
"@password"].Value = Nowpwd ;
command2.Parameters .Add(
"@name", OleDbType.Char);
command2.Parameters[
"@name"].Value = username;

if (command2.ExecuteNonQuery ()> 0)
{
ClientScript.RegisterStartupScript(
this.GetType(), "修改成功", "<script language='javascript'>alert('密码已重置')</script>");
}
else
ClientScript.RegisterStartupScript(
this.GetType(), "对不起,操作出现错误", "<script language='javascript'>alert('操作失误,请重新操作')</script>");

青石的主页 青石 | 初学一级 | 园豆:160
提问于:2011-03-31 00:04
< >
分享
最佳答案
0

上面的这个语法是sql server的,access参考:http://www.mikesdotnetting.com/Article/26/Parameter-Queries-in-ASP.NET-with-MS-Access 不同数据库有差别

收获园豆:5
2012 | 高人七级 |园豆:21230 | 2011-03-31 08:19
虽然不行,但依旧谢谢!
青石 | 园豆:160 (初学一级) | 2011-03-31 16:32
其他回答(1)
0

UPDATE user SET

 

改成 UPDATE [user] SET试试。

自己的表最好都加一个[]括起来。

补充一下,你的更新语句没有where子句,这样很危险的,除非你就想这样

lixq0203 | 园豆:282 (菜鸟二级) | 2011-03-31 10:47
我记得我给你解决过类似问题。
支持(0) 反对(0) lixq0203 | 园豆:282 (菜鸟二级) | 2011-03-31 10:55
user可能是个关键字,看样子这个问题害了不少人?
支持(0) 反对(0) Jerry Chou | 园豆:2642 (老鸟四级) | 2011-03-31 13:11
是的是的,可是还是不行,还是显示update语法错误,直至我在password上也加了个方括号
支持(0) 反对(0) 青石 | 园豆:160 (初学一级) | 2011-03-31 16:38
command2.Parameters.Add("@password", OleDbType.Char);
改成
command2.Parameters.Add("password", OleDbType.Char);
昨天没有细看你的代码呵呵
支持(0) 反对(0) lixq0203 | 园豆:282 (菜鸟二级) | 2011-04-01 09:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册