`

事务(批量执行多条SQL)

阅读更多
public string executeGetReturn(string strSql)//strSql 是传入SQL命令语句
{
//得到数据的连接 并且这个连接是打开
// getCon();
//建立一个 命令对象
cmd.Connection = getCon(); //命令对象是需要基于 一个已经打开了的连接
cmd.CommandText = strSql; //指定数据库命令对象的 执行语句
string result = cmd.ExecuteScalar().ToString(); //执行命令语句,并将其以字符串的形式返回
clear();
return result;
}
//得到一个数据集
public DataSet getDs(string strSql,string tableName)
{
SqlDataAdapter sda = new SqlDataAdapter(strSql, getCon());
DataSet ds = new DataSet();
sda.Fill(ds, tableName);
clear();
return ds;
}
//根据传入的SQL语句,执行并返回一个只向前的数据流DataReader
public SqlDataReader getSdr(string strSql)
{
cmd.Connection = getCon();
cmd.CommandText = strSql;
SqlDataReader sdr = cmd.ExecuteReader();
return sdr;
}
//定义批量执行多条SQL语句的方法
public bool executeTransaction(string[] strSql)
{
bool flag = false;
con = getCon();//得到连接
cmd.Connection = con;//命令对象
SqlTransaction myTransaction; //声明一个SQL事物类型
myTransaction = con.BeginTransaction();//基于一个连接初始化事物
file:///J|/技术/asp.net/事物.txt(第 1/3 页)[2008-11-15 22:01:39]
file:///J|/技术/asp.net/事物.txt
try
{
/*
for (int i = 0; i < strSql.Length; i++)
{
cmd.Transaction = myTransaction;//指定SQL命令语句 的事物
cmd.CommandText = strSql[i];//给定命令语句
cmd.ExecuteNonQuery();//执行SQL语句
}
* */
int i = 0;
/*
while(i<strSql.Length)
{
cmd.Transaction = myTransaction;//指定SQL命令语句 的事物
cmd.CommandText = strSql[i];//给定命令语句
cmd.ExecuteNonQuery();//执行SQL语句
i += 1;
}*/
/*
do
{
cmd.Transaction = myTransaction;//指定SQL命令语句 的事物
cmd.CommandText = strSql[i];//给定命令语句
cmd.ExecuteNonQuery();//执行SQL语句
i += 1;
} while (i < strSql.Length);
*/
foreach (string sql in strSql)//遍历
{
cmd.Transaction = myTransaction;//指定SQL命令语句 的事物
cmd.CommandText = sql;//给定命令语句
cmd.ExecuteNonQuery();//执行SQL语句
}
myTransaction.Commit();
flag = true;
}
catch (Exception e)
{
myTransaction.Rollback();
flag = false;
}

finally
{
clear();
}
return flag;
}
}


分享到:
评论

相关推荐

    Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句

    Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句

    MySql批量插入优化Sql执行效率实例详解

    主要介绍了MySql批量插入优化Sql执行效率实例详解的相关资料,需要的朋友可以参考下

    易语言-易语言批量sql解析为数组, SQL终结符解析

    客户端连接服务端执行sql分好几种情况, { 查询SQL, 执行SQL, 执行SQL事务, 批量执行支持, 查询执行混合 } ... 其中的"批量执行"就有点让我头疼, 玩过sql的都知道, 批量执行一般以";" 终结符算一条sql语句, 以此分割....

    SQLServer安全及性能优化

    当用户需要大批量导入数据的时候会突然增加很多日志记录,并且如果数据表上有索引,数据表每增加一条记录就会在索引上增加一条数据从而降低插入的性能。解决方案: 1、大批量导入数据的时候设置数据库的恢复模式为...

    达梦数据库_SQL语言手册

    达梦数据库_SQL语言手册.pdf 数据库快照定义语句 数据库快照删除语句 第章数据查询语句和全文检索语句 单表查询 简单查询 带条件查询 集函数 情况表达式 连接查询 子查询 标量子查询 表子查询 派生表子...

    MySQL数据库

    3. 如果涉及批量执行多条SQL时 使用PreparedStatement执行效率较高 - 如果SQL中没有变量用Statement 有变量用PreparedStatement ###批量操作 - Statement批量操作: statement.addBatch(sql1); statement....

    Android批量插入数据到SQLite数据库的方法

    Android中在sqlite插入数据的时候默认一条语句就是一个事务,因此如果存在上万条数据插入的话,那就需要执行上万次插入操作,操作速度可想而知。因此在Android中插入数据时,使用批量插入的方式可以大大提高插入速度...

    fdfs_server:fastDFS 图床存储服务

    嗷嗷图床存储服务 server端 介绍 自建图床存储服务,在网上找过很多图床服务,都...批量上传操作:使用事务执行多条sql,如果遇到错误,回滚,同时将fdfs也执行回滚。 批量删除操作:一条SQL语句操作执行批量命令,某

    Visual C++程序开发范例宝典 - 第8章

    第8章 数据库技术 8.1 连接数据库 ...实例288 在Visual C++中执行事务 实例289 在程序中执行SQL脚本 实例290 利用SQL语句执行外围命令 实例291 枚举SQL Server服务器 实例292 附加数据库 实例293 分离数据库

    java面试800题

    Q0060 JDBC批量更新的作用和用法 "提高执行效率。减少执行时间。 Statement sm = cn.createStatement(); sm.addBatch(sql1); sm.addBatch(sql2); ... sm.executeBatch() 或者 PreparedStatement ps = ...

    Android批量插入数据到SQLite数据库

    Android中在sqlite插入数据的时候默认一条语句是一个事务,因此如果存在上万条数据插入的话,那需要执行上万次插入操作,操作速度可想而知。因此在Android中插入数据时,使用批量插入的方式可以大大提高插入速度。 ...

    C#开发经验技巧宝典

    0974 同时查询多条SQL语句 568 0975 如何判断是否查询到结果 568 0976 将图片以二进制格式存储到数据库中(asp.net) 569 0977 从DataReader对象读取数据的技巧 569 0978 随机显示数据库记录 569 0979 ...

    多功能.NET代码自动生成器(含存储过程)

    在指定事务控制中插入多条数据 2、插入并返回所插入的记录的自增ID 适用范围为相应数据表中存在标识字段,可同步获取到新插入数据的标识字段值。 public string Insert_Identity(CalendarNotesModel model) 插入单...

    多功能.NET代码自动生成器2.0版(2010年最新修改)

    在指定事务控制中插入多条数据 2、插入并返回所插入的记录的自增ID 适用范围为相应数据表中存在标识字段,可同步获取到新插入数据的标识字段值。 public string Insert_Identity(CalendarNotesModel model) 插入单...

    MySQL死锁套路之唯一索引下批量插入顺序不一致

    为了方便演示,把批量插入改写为了多条 insert。 先来做几个小实验,简化的表结构如下 CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` varchar(5), `b` varchar(5), PRIMARY KEY (`id`), ...

Global site tag (gtag.js) - Google Analytics