1. //要传一个DataSet,和若干个表
  2. /// <summary>
  3. /// 更新数据库
  4. /// </summary>
  5. /// <param name="dataSet">数据集</param>
  6. /// <param name="tableName">数据表</param>
  7. /// <returns>-1:失败;-2:无可更新数据;其他:成功</returns>
  8. public int UpdateDatabase(DataSet dataSet,params String[] tableName)
  9. {
  10. int saveCount = -;
  11. //结束编辑
  12. for (int i = ; i < tableName.Length; ++i)
  13. {
  14. this.BindingContext[dataSet, tableName[i]].EndCurrentEdit();
  15. }
  16. //检查变更//用一个东西存储所做的更改
  17. DataSet changes = (DataSet)dataSet.GetChanges();
  18. if (changes != null)
  19. {
  20.  
  21. for (int j = ; j < tableName.Length; ++j)
  22. {
  23. //生成更新语句
  24. string sqltext = "Select * From " + tableName[j] + " ";
  25. //新建 一个连接
  26. using (SqlConnection con = new SqlConnection(IConnectionString)) //这里要换成自己的连接字符串
  27. {
  28. //打开连接
  29. con.Open();
  30. //新建DA
  31. using (SqlDataAdapter oDA = new SqlDataAdapter(sqltext, con))
  32. {
  33. try
  34. {
  35. //生成更新语句
  36. SqlCommandBuilder sqlBuilder = new SqlCommandBuilder(oDA);
  37. //更新数据库
  38. saveCount += oDA.Update(changes, tableName[j]);
  39. }
  40. catch
  41. { throw; }
  42. }
  43. }
  44. }
  45. //dataSet.Merge(changes ); //VS2015更新完成后会自动刷新数据,如果合并后会出现重复记录手动刷新后消失
  46. dataSet.AcceptChanges();
  47. }
  48. else
  49. {
  50. saveCount = -;
  51. }
  52. return saveCount;
  53. }

Sql更新的更多相关文章

  1. 使用游标循环进行SQL更新插入的SQL语句

    使用SQL中的循环,可以实现许多我们需要的操作,比如SQL更新操作.下面就为您介绍使用游标循环进行SQL更新插入的SQL语句写法,希望对您深入学习SQL更新有所帮助. --开始事务 BEGIN TRA ...

  2. hibernate通过SQL更新数据

    @Resource(name = "hibernateTemplate") public HibernateTemplate hibernateTemplate; /** * @T ...

  3. 2 日志系统:一条sql更新语句是如何执行的?

    2 日志系统:一条sql更新语句是如何执行的? 前面了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块,一条查询语句的执行过程一般是经过连接器.分析器.优化器.执行器等功能模块,最后达到e ...

  4. 02 | 日志系统:一条SQL更新语句是如何执行的? 学习记录

    <MySQL实战45讲>02 | 日志系统:一条SQL更新语句是如何执行的? 学习记录http://naotu.baidu.com/file/ad320c7a0e031c2d6db7b5a ...

  5. 一条SQL更新语句是如何执行的

    文章首发于公众号「蝉沐风」,认真写好每一篇文章,欢迎大家关注交流 这是图解MySQL的第2篇文章,这篇文章会通过一条SQL更新语句的执行流程让大家清楚地明白: 什么是InnoDB页?缓存页又是什么?为 ...

  6. sql 更新列表中最老的一条数据

    今天组长给个任务说要给摄像头触发一个列表.让缓存5条数据,每次摄像头触发更新一条,丢掉最老的一条数据.原来的update是直接更新掉一条,没带缓存的.然后搞了个sql语句,是这样的: UPDATE C ...

  7. LINQ to SQL更新数据库操作(转载)

    使用LINQ to SQL建模Northwind数据库 在这之前一起学过LINQ to SQL设计器的使用,下面就使用如下的数据模型: 当使用LINQ to SQL设计器设计以上定义的五个类(Prod ...

  8. open sql 更新数据

    insert语句: 1.插入单行数据有两种方法:wa是一个工作区 insert into dbtab values wa. insert into dbtab from wa. 该语句也可以将数据行插 ...

  9. 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 ...

  10. sql 更新多条记录

    转载:https://www.cnblogs.com/hfultrastrong/p/6905057.html 如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?本文以一个示例向 ...

随机推荐

  1. [转载]JS中 map, filter, some, every, forEach, for in, for of 用法总结

    转载地址:http://codebay.cn/post/2110.html 1.map 有返回值,返回一个新的数组,每个元素为调用func的结果. let list = [1, 2, 3, 4, 5] ...

  2. 如何在Linux上设置SSH密码以进行无密码登录(转)

    ssh(secure shell)广泛用于远程登录Linux服务器.当我们使用ssh登录到远程系统时,它会提示输入密码,然后只允许我们登录到服务器.有时我们需要配置应用程序或脚本(主要是shell脚本 ...

  3. 局部变量,全局变量初始值问题----C与指针练习题4.14.1

    全局变量初始化0 局部变量初始化是随机值 如下面一段代码,全局变量,将src复制n个字符到dst #include<stdio.h> void copy_n(char dst[],char ...

  4. blueprint的使用

    第一步:导入蓝图模块: from flask import Blueprint 第二步:创建蓝图对象: #Blueprint必须指定两个参数,admin表示蓝图的名称,__name__表示蓝图所在模块 ...

  5. 关于html2canvas跨域设置

    最近在做js生成图片的功能,因为有的商户logo图片在阿里云oss存储的,所以遇到了跨域的问题.跨域的话可以在服务器端设置header, 跨域的话目前的解决方案是服务端设置,Access-Contro ...

  6. leetcode 764.Largest Plus Sign

    根据题意的话就是在非0的地方开始寻找上下左右分别能够走到的最大步长的. 那么使用暴力的方法竟然leetcode还是给过了. class Solution { public: int orderOfLa ...

  7. 20175120彭宇辰 《Java程序设计》第八周学习总结

    教材学习内容总结 第十五章 泛型与集合框架 一.泛型 泛型的主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据结构. 1.泛型类声明 class People<E> Peop ...

  8. vue项目localhost可以访问 ip不能访问

    解决方法: 如图所示:

  9. MySQL Sending data导致查询很慢的问题详细分析【转载】

    转自http://blog.csdn.net/yunhua_lee/article/details/8573621 [问题现象] 使用sphinx支持倒排索引,但sphinx从mysql查询源数据的时 ...

  10. 2018.5.3 docker

    # docker [TOC] ## docker概念 概念官网解释:[docker官网](https://www.docker.com/) 1. 开放平台 2. 容器技术 3. LXC(Linux C ...