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

最近用做个小工具,采用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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值