为什么在微软的SqlHelper.cs中多次用到事务SqlTransaction,但却没有看到事务提交Commit()和回滚Rollback()? 如题:为什么在微软的SqlHelper.cs中多次用到事务SqlTransaction,但却没有看到事务提交Commit()和回滚Rollback()? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从来都是自己写,没用过这个类~~~~再说,那个Commit和Rollback应该在数据库中配置事务的吧嘿嘿~~~ /// <summary> /// 执行多条SQL语句,实现数据库事务。 /// </summary> /// <param name="SQLStringList">SQL语句数组</param> public static int ExecuteSqlTransaction(List<string> SQLStringList) { using (SqlConnection conn = new SqlConnection(ConnectionString)) { conn.Open(); using (SqlTransaction trans = conn.BeginTransaction()) { using (SqlCommand cmd = new SqlCommand()) { try { //循环 int val = 0; foreach (string sqlStr in SQLStringList) { PrepareCommand(cmd, conn, trans, CommandType.Text, sqlStr, null); val += cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); } trans.Commit(); return val; } catch { trans.Rollback(); return 0; } } } } }我这个有的,那个sqlhelper代码也不规范,我改了一些 不知道是不是原来那个了 SqlParameter[] param = new SqlParameter[1]; SqlConnection conn = new SqlConnection(SqlHelper.conn); SqlTransaction trans = conn.BeginTransaction(); try { SqlHelper.ExecuteNonQuery(trans, CommandType.Text, "", param); SqlHelper.ExecuteNonQuery(trans, CommandType.Text, "", param); trans.Commit(); } catch (Exception ex) { trans.Rollback(); }自己提交自己滚 不过你可以自己写一个sqlhelper类啊,只需要写一个之后可以一直用了,哈哈,这几天我也在学着写这个类呢 如果自己提交自己滚,数据访问层和SqlHelper的耦合度比较高,不是很好。 再问查询开启两个线程,结束后dataGridView滚动条失效 webbrowser newwindow 事件问题。。。 C#小小的问题 奇怪~!!C#无法Select出Access中的数据 求简单正则表达式 C# winform 可更新的查询的问题。 这个是什么错误?怎么解决? 数码相机编程难题 C#中如何使string中的字符不是unicode型的,而是一般char类型的 ORA-00933: SQL 命令未正确结束 C# WinForm ListView的问题
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">SQL语句数组</param>
public static int ExecuteSqlTransaction(List<string> SQLStringList)
{
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{ using (SqlCommand cmd = new SqlCommand())
{
try
{
//循环
int val = 0;
foreach (string sqlStr in SQLStringList)
{
PrepareCommand(cmd, conn, trans, CommandType.Text, sqlStr, null);
val += cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
trans.Commit();
return val;
}
catch
{
trans.Rollback();
return 0;
}
}
}
}
}
我这个有的,那个sqlhelper代码也不规范,我改了一些 不知道是不是原来那个了
SqlParameter[] param = new SqlParameter[1];
SqlConnection conn = new SqlConnection(SqlHelper.conn);
SqlTransaction trans = conn.BeginTransaction();
try
{
SqlHelper.ExecuteNonQuery(trans, CommandType.Text, "", param);
SqlHelper.ExecuteNonQuery(trans, CommandType.Text, "", param);
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
}
自己提交自己滚