记录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 ...
随机推荐
- android 获取 imei号码 及相关信息
android 获取 imei号码 参考:http://www.cnblogs.com/luxiaofeng54/archive/2011/03/01/1968063.html 核心代码: Imei ...
- android:layout_weight详解
参考; www.cnblogs.com/alpha-bowen/archive/2011/03/02/1969343.html 总结: 当需要对页面按比例分配时会用到这个选项: layout_weig ...
- 利用if else 求已发奖金总数
class Program { static void Main(string[] args) { while (true) ...
- fsl的feat软件分包使用笔记
introduction: 1. feat 是一种基于模型的fmri数据分析方法. 2. feat 首先使用顺手,至少看起来,比spm漂亮多了. feat是按照正常人的使用方法去设计的. spm 由于 ...
- jQuery开始之旅
(1)首先到http://jquery.com/download/网站进行现在jQuery库. (2)这里演示一下,使用CDN进行jQuery编程的例子: 选择的是jQuery的CDN,<scr ...
- HDOJ/HDU 1161 Eddy's mistakes(大写字母转换成小写字母)
Problem Description Eddy usually writes articles ,but he likes mixing the English letter uses, for e ...
- android camera(三):camera V4L2 FIMC
1. V4L2 1)简介 在Linux中,摄像头方面的标准化程度比较高,这个标准就是V4L2驱动程序,这也是业界比较公认的方式. V4L全称是Video for Linux,是Linux内核中标准的关 ...
- mkdir、whoami、touch
mkdir whoami touch:"摸",如果文件不存在,就建立新文件,如果存在,就改变文件的访问时间atime等时间戳信息. mkdir aa ls –ld aa 创建多级目 ...
- hdoj 2147 kiki's game【博弈】
kiki's game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/10000 K (Java/Others)Total ...
- 读书雷达 l 业务分析师(BA)篇
http://chuansong.me/n/412991951441 ThoughtWorks BA社区从2011年起就建立了BA书橱,根据大家的推荐选择了来自软件需求.商业分析.设计思维.软技能,以 ...