DbHelperSQL 事务写法!

 1  try
 2             {
 3                 DBUtility.CommandInfo dbcom = new DBUtility.CommandInfo();
 4                 List<DBUtility.CommandInfo> strStranList = new List<DBUtility.CommandInfo>();
 5
 6                 StringBuilder strSql = new StringBuilder();
 7                 strSql.Append("Update Jia72_Members Set ");
 8                 strSql.Append("[email protected],");
 9                 strSql.Append("[email protected],");
10                 strSql.Append("[email protected],");
11                 strSql.Append("[email protected],");
12                 strSql.Append("[email protected],");
13                 strSql.Append("[email protected],");
14                 strSql.Append("[email protected],");
15                 strSql.Append("[email protected]");
16                 strSql.Append(" Where [email protected] ");
17                 string strSQLM = strSql.ToString();
18
19                 SqlParameter[] parameters = {
20                     new SqlParameter("@Id",SqlDbType.Int,4),
21                     new SqlParameter("@UserName",SqlDbType.NVarChar,20),
22                     new SqlParameter("@YTCardId",SqlDbType.Int,4),
23                     new SqlParameter("@CardNum",SqlDbType.NVarChar,20),
24                     new SqlParameter("@Bank",SqlDbType.NVarChar,50),
25                     new SqlParameter("@BankNumber",SqlDbType.NVarChar,32),
26                     new SqlParameter("@QQNumber",SqlDbType.NVarChar,50),
27                     new SqlParameter("@RealName",SqlDbType.NVarChar,10),
28                     new SqlParameter("@SavedOn",SqlDbType.DateTime)
29                      };
30                 parameters[0].Value = model.Id;
31                 parameters[1].Value = model.UserName;
32                 parameters[2].Value = model.YTCardId;
33                 parameters[3].Value = model.CardNum;
34                 parameters[4].Value = model.Bank;
35                 parameters[5].Value = model.BankNumber;
36                 parameters[6].Value = model.QQNumber;
37                 parameters[7].Value = model.RealName;
38                 parameters[8].Value = model.SavedOn;
39
40                 dbcom.CommandText = strSql.ToString();
41                 dbcom.Parameters = parameters;
42                 strStranList.Add(dbcom);//绑定会员信息
43
44                 //更新卡表
45                 strSql.Clear();
46                 strSql.Append("update Jia72_YTCard set ");
47                 strSql.Append("IsBind=1,");
48                 strSql.Append("SavedOn=getdate()");
49                 strSql.Append(" where Id=" + model.YTCardId);
50
51                 dbcom.CommandText = strSql.ToString();
52                 dbcom.Parameters = null;
53                 strStranList.Add(dbcom);//更新卡表绑定
54
55                 if (DBUtility.DbHelperSQL.ExecuteSqlTran(strStranList) > 0)
56                 {
57                     DotNet.Common.MessageBox.ShowAndRedirect(this, "保存成功!", "UserManages.aspx");
58                 }
59                 else
60                 {
61                     MessageBox.Show(this, "操作失败,请联系管理员!");
62                 }
63             }
64             catch (Exception ex)
65             {
66                 LogHelper.WriteWebExLogInfo(this, ex);
67                 MessageBox.Show(this, "操作失败,请联系管理员!");
68                 return;
69             }

说明:引用 DBUtility 用CommandInfo组织参数!还得用SQLHelper,悲催呀!

时间: 2024-10-12 13:33:43

DbHelperSQL 事务写法!的相关文章

(转).Net高级进阶,在复杂的业务逻辑下,如何以最简练的代码,最直观的编写事务代码?

原文地址:http://www.cnblogs.com/1996V/p/7798111.html 示例一和示例二,主要是来讲解 TransactionScope 是什么,为什么要用TransactionScope.示例三(重要)则是优化写法,增加代码的灵活性和可读性. [示例一] 现在,你要写个入库接口,大致意思就是: 勾选一条商品,然后写上数量,点击入库按钮,将会产生一条入库记录,同时  这个商品的所对应的  库存数量 也会 更新.因为涉及到库存,所以要用事务来保证数据安全. StorageT

EF4.4 升级EF6.0问题总结

如出现下面代码错误,基本可能确定EF数据库配置错误 1 在 System.Data.Entity.Core.Metadata.Edm.MetadataArtifactLoaderCompositeResource.LoadResources(String assemblyName, String resourceName, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver) 在 System.Data.Ent

iBATIS事务处理

一:问题 最近发现了我们自己的项目的事务的处理根本就是行不通的,也因此我自己又去看了下有关事务的处理,算是有了个大致的了解吧,先说说我们最初的配置吧. 二:内容 (1):使用iBatis的事务管理 SqlMapClient client = this.getSqlMap(); try { client.startTransaction(); client.insert("addUser", user); client.getCurrentConnection().commit();;

Hibernate事务代码规范写法

----------------siwuxie095 事务相关概念 1.什么是事务 逻辑上的一组操作,构成这组操作的各个单元,要么一起成功, 要么一起失败 2.事务的四个特性 1)原子性 2)一致性 3)隔离性 4)持久性 3.不考虑隔离性,产生的问题 1)脏读 2)不可重复读 3)幻读(也称 虚读) 4.设置事务隔离级别,即可解决不考虑隔离性所产生的问题 「MySQL 默认的隔离级别:Repeatable Read(可重复读)」 5.Hibernate 也可以在核心配置文件中配置事务隔离级别

sql 关于dblink和多条update、insert事务回滚写法

在存储过程的编写中难免会遇到调用同库他人的proc和跨库调用proc,还有一个proc中有多条对多表进行写入和修改的语句.那么就会用到tran. 如果我们在不写try的情况下就要对每个insert,update的后面写上 IF @@error <> 0 OR @@Rowcount = 0 BEGIN ROLLBACK TRAN END 来确保所有语句的正常执行和有影响的行数. 而在写了try的情况下,我们就可规范一下写法,利用RAISERROR DECLARE @Ret_Msg VARCHAR

回滚的意义---JDBC事务回滚探究

JDBC手动事务提交回滚的常见写法一直是rollback写在commit的catch之后: try{ conn.setAutoCommit(false); ps.executeUpdate(); ps.executeUpdate(); conn.commit(); }catch(Exception e){ conn.rollback(); } 但是,这种回滚是没有意义的: 一旦commit前出错, 就不提交了, 回滚无用 一旦commit了, 说明没错, 不用回滚 找到一篇和我观点相同的文章:

Spring的事务机制

JAVA EE传统事务机制 通常有两种事务策略:全局事务和局部事务.全局事务可以跨多个事务性资源(即数据源,典型的是数据库和消息队列),通常都需要J2EE应用服务器的管理,其底层需要服务器的JTA支持.而局部事务则与底层采用的持久化技术有关,如果底层直接使用JDBC,需要用Connection对象来操事务.如果采用Hibernate持久化技术,则需要使用session对象来操作事务. 通常的,使用JTA事务,JDBC事务及Hibernate事务的编程流程大致如下, 上图也可以看出,采用传统事务编

JFinal DB.tx()事务

JFinal中有个封装好的事务应用,用起来非常方便简单. 写法1: Db.tx(new IAtom(){ @Override public boolean run() throw SQLException{ //在这里写要执行的操作,操作结果result为boolean值 return result; } }); result值为true则操作成功,为false则回滚. 事务DB.tx()本身也返回一个boolean值,表示最终操作结果是否成功,true为成功,false失败. 写法2: 在方法

(转)一次完整的HTTP事务是怎样一个过程?

关于HTTP协议可以参考以下: HTTP协议漫谈 http://kb.cnblogs.com/page/140611/ HTTP协议概览 http://www.cnblogs.com/vamei/archive/2013/05/11/3069788.html 了解HTTP Headers的方方面面 http://kb.cnblogs.com/page/55442/ 当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 域名解析 -->