记录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 ...
随机推荐
- WordPress Lazy SEO插件lazyseo.php脚本任意文件上传漏洞
漏洞名称: WordPress Lazy SEO插件lazyseo.php脚本任意文件上传漏洞 CNNVD编号: CNNVD-201309-446 发布时间: 2013-09-26 更新时间: 201 ...
- 30个最常用css选择器解析
转自:http://www.cnblogs.com/yiyuanke/archive/2011/10/22/CSS.html 你也许已经掌握了id.class.后台选择器这些基本的css选择器.但这远 ...
- 冒烟测试、α测试、Beta测试、性能测试
“冒烟测试”(也可称为showcase)这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程. 冒烟测试(smoke test)在测试中发现问题,找到了一个Bug,然后开发人员会 ...
- Selenium WebDriver + Grid2 + RSpec之旅(二)----Grid2的配置
Selenium WebDriver + Grid2 + RSpec之旅(二) ----Grid2的配置 为什么要使用Selenium-Grid 分布式运行大规模的TestCase 能够通过一个中央节 ...
- 排列的Java递归语言实现
在做算法题的时候,发现排列经常被使用到,是一个重要的知识点, 下面是博主修改过的代码,初学者,如有不足,欢迎指出 import java.util.ArrayList; import java.uti ...
- What does wildcard address in InetSocketAddress mean?
In the docs for the constructor InetSocketAddress(int port) it says: Creates a socket address where ...
- Coding girl一个老程序员谈到的一个女程序员的故事
因为有人说我给一个女程序员的建议不靠谱,我不服,因为我的工作经历中的一些女程序员都很不错,比那些男程序员都强,所以,我在新浪微博和twitter上征集女程序员的故事和想法,这两天来,我收到了好几封邮件 ...
- mysql按字段分组并获取每个分组按照某个字段排序的前三条
这是原始数据 想按照brand_id分组 并获取每个分组total_num最高的前3位 SQL语句为: > (select count(*) from data where brand_id = ...
- String与常量池
转自:http://blog.sina.com.cn/s/blog_69dcd5ed0101171h.html 1. 首先String不属于8种基本数据类型,String是一个对象.因为对象的默认值是 ...
- Unity3D跨平台时partial分部方法的使用
最近看到项目中插件的一部分逻辑,发现问题多多,可读性很差,并且容易出错,于是随手整理了下逻 辑.Unity3D的插件逻辑,因为要考虑到针对各平台的移植,因此会大片的出现#if/#endif等条件编译, ...