`

事务(批量执行多条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;
}
}


分享到:
评论

相关推荐

    DB查询分析器批量执行多条SQL语句并查看各自的执行时间

    ### DB查询分析器批量执行多条SQL语句并查看各自的执行时间 #### 一、引言 在数据库管理和维护过程中,频繁需要执行一系列SQL语句。然而,大多数数据库管理系统(DBMS)并未提供直观的方式展示每条SQL语句的具体...

    access 一次执行多条sql语句

    在Access数据库管理中,有时我们需要在同一事务中执行多条SQL语句来确保数据的一致性和完整性。例如,在更新某个记录后可能还需要执行其他操作,如增加日志记录等。本文将详细介绍如何在Access中实现一次执行多条SQL...

    TSQL_Express【批量执行SQL】批量执行sql文件工具

    4. **事务管理**:提供事务控制,允许用户在一个事务中执行多个操作,确保数据的一致性。 5. **错误处理**:当某个脚本执行失败时,TSQL_Express可以暂停执行,让用户处理错误,或者根据设置继续执行其他脚本。 6....

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

    本文将深入探讨如何在C#中利用Oracle自带的驱动来实现批处理,以一次执行多条SQL语句。 首先,我们需要了解Oracle的数据驱动,即ODP.NET(Oracle Data Provider for .NET)。这是Oracle公司为.NET开发者提供的一个...

    java批量执行SQL

    批量执行SQL的基本思想是通过一次网络往返,发送多条SQL语句到数据库服务器,从而减少网络开销,提高执行效率。在Java中,主要通过`PreparedStatement`的`addBatch()`方法将多条SQL语句添加到批处理中,再调用`...

    Delphi adoquery处理多条SQL语句

    在这个例子中,我们首先通过 `BeginTrans` 开始一个事务,然后依次执行多条 SQL 插入语句,最后使用 `CommitTrans` 提交事务。如果在执行过程中出现异常,则使用 `RollbackTrans` 回滚事务。 ##### 3. 更新批处理 ...

    批量执行Sql脚本工具(含代码)

    8. **性能优化**:批量执行时,工具可能会采用事务管理来提高效率,例如,将多条SQL语句作为一个事务提交,减少数据库交互次数。 9. **命令行接口**:高效的工具往往提供命令行接口,允许用户通过参数传递脚本路径...

    PB 9 执行 多行 SQL

    在PowerBuilder 9(简称PB9)中,执行多行SQL是一种常见的数据库操作需求...以上就是使用PowerBuilder 9执行多行SQL的相关知识点,通过这些方法,开发人员可以灵活地处理包含多条SQL语句的文件,提高数据库操作的效率。

    Jmeter中JDBC request多条SQL语句使用.docx

    本文将重点介绍如何在JMeter中使用JDBC Request来执行多条SQL语句,包括查询与更新操作,并针对不同类型的SQL语句提供最佳实践。 #### 二、JDBC Request概述 JDBC Request是JMeter提供的一个用于执行数据库操作的...

    sqlserver批量执行脚本文件

    批量执行的脚本通常包含多条T-SQL语句,可能涉及到数据插入、更新、删除,或者数据库结构的修改。 3. **sqlcmd工具**:这是一个命令行工具,可以直接执行T-SQL脚本或批处理。尽管方便,但相比.NET环境中的SMO,它的...

    Spring 中jdbcTemplate 实现执行多条sql语句示例

    本文将详细解释如何使用JdbcTemplate来执行多条SQL语句,以及其在事务管理中的作用。 首先,JdbcTemplate的`batchUpdate`方法是用于批量执行SQL语句的,如示例所示。在上述代码中,`batchUpdate`接收一个SQL语句的...

    C#中实现一次执行多条带GO的sql语句实例

    在C#中,当你需要执行包含`GO`关键字的多条SQL语句时,通常会遇到问题,因为`GO`并不是SQL Server的真正命令,而是SQL Server Management Studio(SSMS)中的一个批处理分隔符。在C#中直接执行这样的语句会导致错误...

    C#实现批量插入sqlserver数据

    这是最基本的方法,通过执行多次`INSERT INTO` SQL语句来插入数据。例如: ```csharp using (SqlCommand cmd = new SqlCommand("INSERT INTO TableName VALUES (@value1, @value2)", conn)) { cmd.Parameters....

    C# 执行SQL脚本

    5. **分隔多条SQL命令**: SQL脚本可能包含多条命令,用分号";"隔开。可以使用`Split(';')`方法将其分割成多个命令字符串数组。 6. **逐条执行SQL命令**: 遍历命令字符串数组,对每个命令创建新的SqlCommand对象...

    navicat for mysql执行sql脚本细节

    - **遇到错误继续**:启用此选项后,即使脚本中某条SQL语句执行失败,Navicat也会尝试继续执行后续语句。 - **set autocommit=0**:此选项控制事务自动提交的行为。默认情况下,每条SQL语句执行完毕后会立即提交。若...

    批量执行sql语句的方法

    在数据库管理中,批量执行SQL语句是一种提高效率和减少网络传输开销的重要技术。尤其在处理大量数据插入、更新或删除操作时,批量执行能够显著提升性能。本篇文章将详细探讨如何使用SQL语句中的`BEGIN`关键字来实现...

    批量执行脚本

    - SQL脚本是包含一系列SQL语句的文本文件,用于一次性执行多条命令,如创建表、插入数据、修改结构等。 - 批处理则是将多个任务组合成一个整体,一次性执行,可以提高工作效率并减少重复劳动。 2. **错误处理与...

    sqlserver2000事务问题.txt

    在 SQL Server 2000 中,`AutoCommit` 是一种默认的行为模式,表示每条 SQL 语句执行后都会自动提交事务。这种方式对于简单的读取或单一更新操作来说非常方便,但不适合复杂的事务处理场景。 - **禁用 AutoCommit ...

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

    总之,MySQL的批量插入优化是提高Sql执行效率的有效手段,结合适当的事务管理、索引优化和数据库参数调整,可以进一步提升系统的整体性能。在实际开发中,应根据应用的具体场景和性能需求,灵活运用这些技巧,实现...

    SQL数据库批量修改工具

    在SQL Server中,批量修改通常涉及到对多条记录进行相同或类似的更新操作,这在处理大量数据时非常实用。 该工具的主要功能可能包括: 1. 批量替换:允许用户指定特定的数据库表、字段和条件,对满足条件的数据...

Global site tag (gtag.js) - Google Analytics