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
后来在网上看到了一篇文章,读完之后,恍然大悟。原来是忽略了一个小细节引起的。详细如下。
我对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
相关文章推荐
- Access用OleDbParameter无法更新数据解决方案
- Access用OleDbParameter更新/插入数据
- Access用OleDbParameter更新/插入数据
- Access使用参数化UPDATE数据时,数据无法更新的问题,要按照参数顺序赋值
- Access使用参数化UPDATE数据时,数据无法更新的问题
- Access使用参数化UPDATE数据时,数据无法更新的问题
- 使用OleDbParameter来写Access的更新没反应的解决办法
- 使用 OleDbParameter来写Access的更新没反应的解决办法
- oledb使用Access更新和插入操作的注意点
- Access中使用OleDbParameter产生奇怪的问题!
- ASP提示 无法从指定的数据表中删除 和 操作必须使用一个可更新的查询?
- 使用OleDbParameter来操作Access数…
- asp.net 解决使用OLEDB导入excel数据时同时包含文本和数字的列无法正常读取情况
- 关于ACCESS下OleDbParameter的使用
- C#使用OleDB操作ACCESS插入数据时提示:标准表达式中数据类型不匹配。
- C#使用OleDB操作ACCESS插入数据时提示:参数 @p_Contract 没有默认值
- Oledb更新Access数据的诡异事件
- 使用PagerAdapter时,无法动态更新数据
- C#使用OleDB操作ACCESS插入数据时提示:至少一个参数没有被指定值。
- 关于asp.net网站发布后,使用登录控件和注册控件时出现“数据库只读,无法进行数据更新”的解决方法