收录日期:2019/12/09 20:48:28 时间:2016/08/06 19:30:46 标签:C#
如题:为什么在微软的SqlHelper.cs中多次用到事务SqlTransaction,但却没有看到事务提交Commit()和回滚Rollback()?
微软的一般都很好。。。。

(不一定都好)
从来都是自己写,没用过这个类~~~~

再说,那个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代码也不规范,我改了一些 不知道是不是原来那个了
引用 3 楼 ailin84 的回复:
C# code


        /// <summary>
        /// 执行多条SQL语句,实现数据库事务。
        /// </summary>
        /// <param name="SQLStringList">SQL语句数组</param>
        public static int ExecuteSqlTransaction(List<str……
基本上面目全非了,不过这个倒是可以用的。

            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类啊,只需要写一个之后可以一直用了,哈哈,这几天我也在学着写这个类呢
引用 5 楼 dz007 的回复:
C# code

            SqlParameter[] param = new SqlParameter[1];
            SqlConnection conn = new SqlConnection(SqlHelper.conn);
            SqlTransaction trans = conn.BeginTransaction();
     ……
如果自己提交自己滚,数据访问层和SqlHelper的耦合度比较高,不是很好。
该回复于2011-10-26 09:42:31被版主删除

如何修改android虚拟机的MEID号呢? studio 2010与access 连接问题,添加变量的时候无下拉列表 rzstringgrid中怎样在某一列加入checkbox啊? 部署在was上的web项目一段时间后,部分前台页面打不开....求解。 是我发帖不够诚恳,还是什么,为什么迷惑的问题总是在csdn上找不到答案。 JAVA ME 中怎么在List类中添加小图标 求一份asp.net mvc 开发规范,先谢了 删除确认不能用 vb.net Socket 例子 明天我要去复试,老鸟们有什么指点吗?谢谢…… python 2.5.4中的SSL怎么实现的? 创建线程,除了消耗内存资源之外,还消耗什么资源?如果我把升级内存量,是不是意味着我可以创建更多的线程? IIS重定向,只能是让静态链接定向到动态页面?不能直接在访问动态页面的时候地址栏显示静态地址? 谁有cpmm2.0的java写的demo? 实体类参数传递问题 php 帖子无刷新评论 关于delphi的MD5算法 【2012年3月28、29日微软云计算IT体验营-深圳站】敬邀您参与 急!!!!!c++test9.0使用教程 datagridview添加combobox控件问题 好像遇到死锁了,该怎么分析解决? 在存储过程中动态执行其他存储过程 关于outlook com接口,无语了 求音乐特征提取代码 一个很迷惑的问题,大家帮我看看! 【求助】win7下安装qt4.8.0 缺少MySQL驱动 求救关于东软 hibernate.cfg.xml里怎么解析插进来的变量 有谁用过百富科技的V10 IC卡手持机?里面读取SLE4428卡数据函数如何使用? 关于delphi的MD5算法