您的位置:首页 > 其它

access2007 使用手记:Access用OleDbParameter无法更新数据

2010-10-28 15:12 302 查看
最近用做个小工具,采用access2007做数据库,做好之后发现,更新数据总是不成功,但是也不报错误,郁闷。。。。

后来在网上看到了一篇文章,读完之后,恍然大悟。原来是忽略了一个小细节引起的。详细如下。

我对acces数据库的增删查改操作都是通过OleDbParameter[] parameters = {}来指定参数的,这就是问题的所在,access数据库要求OleDbParameter[] parameters = {}里面的参数是顺序是一定要按Update语句里面变量的顺序的,例如

StringBuilder strSql=new StringBuilder();
strSql.Append("update t_YongHu set ");
//strSql.Append("usrID=@usrID,");------------------------------------------注意这里的顺序①
strSql.Append("usrXingMing=@usrXingMing,");
strSql.Append("usrZhiWei=@usrZhiWei");
strSql.Append(" where usrID=@usrID ");
OleDbParameter[] parameters = { ;----------------------------------------这里的顺序要和①处一致
new OleDbParameter("@usrXingMing", OleDbType.VarChar,255),
new OleDbParameter("@usrZhiWei", OleDbType.VarChar,255),
new OleDbParameter("@usrID", OleDbType.Integer,4)};
parameters[2].Value = model.usrID;----------------------------------------这里的顺序也要和①处一致
parameters[0].Value = model.usrXingMing;
parameters[1].Value = model.usrZhiWei;

DbHelperOleDb.ExecuteSql(strSql.ToString(),parameters);





原文地址:http://blog.sina.com.cn/s/blog_489b85ed0100af24.html#comment
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: