您的位置:首页 > 数据库

在事务中执行sql语句

2015-09-29 21:53 453 查看
public static void ExecuteSqlWithGoUseTran(String sql)

{

using (SqlConnection conn = new SqlConnection(connectionString))

{

conn.Open();

SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;

SqlTransaction tx = conn.BeginTransaction();

cmd.Transaction = tx;

try

{

//注: 此处以 换行_后面带0到多个空格_再后面是go 来分割字符串

String[] sqlArr = Regex.Split(sql.Trim(), "\r\n\\s*go", RegexOptions.IgnoreCase);

foreach (string strsql in sqlArr)

{

if (strsql.Trim().Length > 1 && strsql.Trim() != "\r\n")

{

cmd.CommandText = strsql;

cmd.ExecuteNonQuery();

}

}

tx.Commit();

}

catch (System.Data.SqlClient.SqlException E)

{

tx.Rollback();

throw new Exception(E.Message);

}

finally

{

conn.Close();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: