//要传一个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更新的更多相关文章

  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. tomcat免安装版做成windows系统服务

    安装服务在命令行中进入/Tomcat路径/bin/,执行“service.bat install”:卸载服务在命令行中进入/Tomcat路径/bin/,执行“service.bat remove”:

  2. 配置VLAN

    SW1 Switch>en Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(c ...

  3. EL(Expression Language)表达式语言

    EL(Expression Language)表达式语言 EL的基本语法是以${开始,以}结束 为了能够方便地输出数据,EL提供了11个内置对象,其中 2个内置对象为了方便输出请求参数 param用来 ...

  4. 【Linux】scp指令

    语法: scp [可选参数] file_source file_target 参数说明: -1: 强制scp命令使用协议ssh1 -2: 强制scp命令使用协议ssh2 -4: 强制scp命令只使用I ...

  5. reducer 按key聚合

    #coding=utf8 import sys import itertools import json reload(sys) sys.setdefaultencoding("utf8&q ...

  6. 利用JQuery 解析MVC控制器传到前台的Json数据

    <script type="text/javascript"> function Getweb() { var name = $("#CityName&quo ...

  7. timestamp时间格式

    时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间. 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的 ...

  8. linux文本编辑器vim大全

    linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual  Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...

  9. java反射2

    package com.wen; import java.lang.reflect.Field;import java.lang.reflect.Method; public class Test2 ...

  10. qt+opencv 构建项目时报错——no such file or directory

    构建前,记得,一定一定一定要先点击执行qmake: