Sql更新
//要传一个DataSet,和若干个表
/// <summary>
/// 更新数据库
/// </summary>
/// <param name="dataSet">数据集</param>
/// <param name="tableName">数据表</param>
/// <returns>-1:失败;-2:无可更新数据;其他:成功</returns>
public int UpdateDatabase(DataSet dataSet,params String[] tableName)
{
int saveCount = -;
//结束编辑
for (int i = ; i < tableName.Length; ++i)
{
this.BindingContext[dataSet, tableName[i]].EndCurrentEdit();
}
//检查变更//用一个东西存储所做的更改
DataSet changes = (DataSet)dataSet.GetChanges();
if (changes != null)
{ for (int j = ; j < tableName.Length; ++j)
{
//生成更新语句
string sqltext = "Select * From " + tableName[j] + " ";
//新建 一个连接
using (SqlConnection con = new SqlConnection(IConnectionString)) //这里要换成自己的连接字符串
{
//打开连接
con.Open();
//新建DA
using (SqlDataAdapter oDA = new SqlDataAdapter(sqltext, con))
{
try
{
//生成更新语句
SqlCommandBuilder sqlBuilder = new SqlCommandBuilder(oDA);
//更新数据库
saveCount += oDA.Update(changes, tableName[j]);
}
catch
{ throw; }
}
}
}
//dataSet.Merge(changes ); //VS2015更新完成后会自动刷新数据,如果合并后会出现重复记录手动刷新后消失
dataSet.AcceptChanges();
}
else
{
saveCount = -;
}
return saveCount;
}
Sql更新的更多相关文章
- 使用游标循环进行SQL更新插入的SQL语句
使用SQL中的循环,可以实现许多我们需要的操作,比如SQL更新操作.下面就为您介绍使用游标循环进行SQL更新插入的SQL语句写法,希望对您深入学习SQL更新有所帮助. --开始事务 BEGIN TRA ...
- hibernate通过SQL更新数据
@Resource(name = "hibernateTemplate") public HibernateTemplate hibernateTemplate; /** * @T ...
- 2 日志系统:一条sql更新语句是如何执行的?
2 日志系统:一条sql更新语句是如何执行的? 前面了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块,一条查询语句的执行过程一般是经过连接器.分析器.优化器.执行器等功能模块,最后达到e ...
- 02 | 日志系统:一条SQL更新语句是如何执行的? 学习记录
<MySQL实战45讲>02 | 日志系统:一条SQL更新语句是如何执行的? 学习记录http://naotu.baidu.com/file/ad320c7a0e031c2d6db7b5a ...
- 一条SQL更新语句是如何执行的
文章首发于公众号「蝉沐风」,认真写好每一篇文章,欢迎大家关注交流 这是图解MySQL的第2篇文章,这篇文章会通过一条SQL更新语句的执行流程让大家清楚地明白: 什么是InnoDB页?缓存页又是什么?为 ...
- sql 更新列表中最老的一条数据
今天组长给个任务说要给摄像头触发一个列表.让缓存5条数据,每次摄像头触发更新一条,丢掉最老的一条数据.原来的update是直接更新掉一条,没带缓存的.然后搞了个sql语句,是这样的: UPDATE C ...
- LINQ to SQL更新数据库操作(转载)
使用LINQ to SQL建模Northwind数据库 在这之前一起学过LINQ to SQL设计器的使用,下面就使用如下的数据模型: 当使用LINQ to SQL设计器设计以上定义的五个类(Prod ...
- open sql 更新数据
insert语句: 1.插入单行数据有两种方法:wa是一个工作区 insert into dbtab values wa. insert into dbtab from wa. 该语句也可以将数据行插 ...
- SQL更新语句,Error Code: 1175. You are using safe update(在进行视图更新的时候遇到)
转发于:http://blog.csdn.net/qq_26684469/article/details/51105188?locationNum=5&fps=1 原来的SET SQL_SAF ...
- sql 更新多条记录
转载:https://www.cnblogs.com/hfultrastrong/p/6905057.html 如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?本文以一个示例向 ...
随机推荐
- Struts2 前台显示问题
遇到的问题: 查询字段相同值的和的时候用到了sum函数,导致和实体类的不一样,无法取到. 开始的时候的代码. ; 这样的话SUM(o_count)无法显示. 我想把SUM(o_count)设置为实体类 ...
- ES6学习重难点总结(持续更新)
Symbol 1.Symbol.iterator Symbol.iterator指向对象的默认遍历器方法: String.prototype[Symbol.iterator] //ƒ [Symbol. ...
- sqlalchemy关于时间的数据类型
#导入模块 from sqlalchemy import Column, Integer, String, Date, create_engine from sqlalchemy.ext.declar ...
- SQL的修炼
查询所有区有多少人,从而得知一个区有多少设备. ###############################################select o2.ORG_ENDDATE as name ...
- int与integer的区别
int 是基本类型,直接存数值 integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者>>integer 是后者(也就是一个 ...
- initWithFrame方法的使用
1. initWithFrame方法是什么? initWithFrame方法用来初始化并返回一个新的视图对象,根据指定的CGRect(尺寸). 当然,其他UI对象,也有initWithFrame方法, ...
- Centos7.4下安装Jumpserver 1.0.0(支持windows组件)
0)系统环境CentOS 7.4 IP: 192.168.100.10 [root@jumpserver-server ~]# cat /etc/redhat-release CentOS Linux ...
- python numpy模块使用笔记(更新)
np.arange(int a) 生成一个一维array,元素个数是a个,元素是0到a-1 注意arange不能直接生成多维array np.arange(int a).reshape(int b,i ...
- 21. Wireless tools (无线工具 5个)
AircrackKismetNetStumblerinSSIDerKisMAC
- api接口的记录
http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.billboard.billList&type=1& ...