ant mysql执行sql文件_使用ADO.NET执行SQL脚本

public void ExecuteSql(SqlConnection connection, string sqlFile)

{

string sql = "";

using (FileStream strm = File.OpenRead(sqlFile))

{

StreamReader reader = new StreamReader(strm);

sql = reader.ReadToEnd();

}

Regex regex = new Regex("^GO", RegexOptions.IgnoreCase | RegexOptions.Multiline);

string[] lines = regex.Split(sql);

SqlTransaction transaction = connection.BeginTransaction();

using (SqlCommand cmd = connection.CreateCommand())

{

cmd.Connection = connection;

cmd.Transaction = transaction;

foreach (string line in lines)

{

if (line.Length > 0)

{

cmd.CommandText = line;

cmd.CommandType = CommandType.Text;

try

{

cmd.ExecuteNonQuery();

}

catch (SqlException)

{

transaction.Rollback();

throw;

}

}

}

}

transaction.Commit();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值