记录Access数据库更新操作大坑一个
对于更新Access数据库的操作,必须保持参数数组与sql语句中参数顺序一致,如下:
- public bool Update(MyModel model)
- {
- StringBuilder strSql = new StringBuilder();
- strSql.Append("update table1 set ");
- strSql.Append(" column1 = @column1 , ");
- strSql.Append(" column2 = @column2, ");
- strSql.Append(" where ID=@ID ");
- OleDbParameter[] parameters =
- {
- // 必须要这个顺序 ヾ(。 ̄□ ̄)ツ゜゜゜
- new OleDbParameter("@column1", OleDbType.Integer, ),
- new OleDbParameter("@column2", OleDbType.Integer, ),
- new OleDbParameter("@ID", OleDbType.Integer, )
- };
- parameters[].Value = model.column1;
- parameters[].Value = model.column1;
- parameters[].Value = model.ID;
- int rows = DbHelperOleDb.ExecuteSql(strSql.ToString(), parameters);
- if (rows > )
- {
- return true;
- }
- else
- {
- return false;
- }
- }
如果改成下面这样,顺序不一致了,就妥妥的更新失败,还不报任何异常。。。。
- public bool Update(MyModel model)
- {
- StringBuilder strSql = new StringBuilder();
- strSql.Append("update table1 set ");
- strSql.Append(" column1 = @column1 , ");
- strSql.Append(" column2 = @column2, ");
- strSql.Append(" where ID=@ID ");
- OleDbParameter[] parameters =
- {
- // 顺序与sql语句不一致了 ヾ(。 ̄□ ̄)ツ゜゜゜
- new OleDbParameter("@ID", OleDbType.Integer, ),
- new OleDbParameter("@column1", OleDbType.Integer, ),
- new OleDbParameter("@column2", OleDbType.Integer, )
- };
- parameters[].Value = model.ID;
- parameters[].Value = model.column1;
- parameters[].Value = model.column1;
- int rows = DbHelperOleDb.ExecuteSql(strSql.ToString(), parameters);
- if (rows > )
- {
- return true;
- }
- else
- {
- return false;
- }
- }
记录Access数据库更新操作大坑一个的更多相关文章
- Access数据库 更新 "延时" 现象
最近发现 Access数据库执行Update或Delete操作成功后,执行select回来的数据未更改.打开数据库查看时却发现已更改,再次执行select 后却发现正常了. 经调试发现:Access数 ...
- JDBC操作,执行数据库更新操作
目标: 使用Connection对象取得Statement实例 使用Statement进行数据增删改. Statement接口 要对数据库操作,要使用Statement完成.此接口可以使用Connec ...
- python 数据库更新操作
数据库更新操作 更新操作用于更新数据表的的数据,以下实例将 EMPLOYEE 表中的 SEX 字段为 'M' 的 AGE 字段递增 1: #!/usr/bin/python # -*- coding: ...
- 吴裕雄--天生自然JAVA数据库编程:执行数据库更新操作
import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.Statement ; public clas ...
- ACCESS数据库C#操作类(包含事务)
转自http://blog.csdn.net/allen3010/article/details/6336717 这个是针对ACCESS数据库操作的类,同样也是从SQLHELPER提取而来,分页程序的 ...
- C#中 ACCESS数据库常用操作语句...容易出错的地方(DateTime类型)
这次在C#编程过程中,第一次用到了ACCESS数据库,重点涉及到时间类型,整数类型.是否类型....;遇到了许多困难,就把这些整理了下来,与大家分享. 一.Insert语句的基本格式: INSERT ...
- Java -- JDBC 学习--通过Statement进行数据库更新操作
通过 JDBC 向指定的数据表中插入一条记录. 1. Statement: 用于执行 SQL 语句的对象 1). 通过 Connection 的 createStatement() 方法来获取 2). ...
- c# 数据库更新操作-文本更新和数值更新小差别
1.文本更新 string strName; sql = "update 模式表 a SET 模式名称 ='"+ strName +"'where a.模式ID =&qu ...
- sql server 如何在一个数据库中操作另一个数据库中的数据
INSERT INTO T1 SELECT * FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=Serve ...
随机推荐
- 17.1.1.1 Setting the Replication Master Configuration 设置复制的master 配置:
17.1.1.1 Setting the Replication Master Configuration 设置复制的master 配置: 在一个复制master,你必须启用binary loggin ...
- statspack系列6
原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-6/ 作者:Jonathan Lewis 下面是一段时间以前网 ...
- 【转】Android:Animation的简单学习--不错
原文网址:http://blog.csdn.net/huangbiao86/article/details/6683665 Animation动画效果.提供了一系列的动画效果,可以应用大多数 的控件. ...
- DevExpress控件学习总结 z
1.Navigation & Layout 1.1 Bar Manager 如果想在窗体或用户控件(user control)上添加工具条(bars)或弹出菜单(popup menus),我们 ...
- HDU-1686 Oulipo
学习:重点理解这句话的意思: next[j]会告诉我们从哪里开始匹配 模板题. Oulipo Time Limit: 3000/1000 MS (Java/Others) Memory ...
- linearizing the depth in vertex shader
please refer to http://www.mvps.org/directx/articles/linear_z/linearz.htm When using a programmable ...
- 前端自动生成/加载CSS
前言: 1.我很懒! 2.写样式时,很多时候需要单独设置长度.宽度.内间距.外间距等.于是,就会有很多CSS代码会出现很多类似以下的代码: .w20: { width: 20px; } .mt10: ...
- 黑马程序员_<<GUI(图形用户界面)--------1>>
--------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1. GUI图形用户界面 1.简述 Gra ...
- 仿写自己的一个加载语言包的L函数
<?php /** * [L 加载语言的L的方法] * @param [string] $key [语言键的名称] * @return [string] $value [取到的语言值] */ f ...
- Mina学习之IoHandler
IoHandler处理事件在Filter Chain 之后进行.IoHandler包含处理以下几个事件的功能: 1. sessionCreated event: session创建事件,对于Tcp而言 ...