数据库事务使用范例

来源:互联网 发布:spss mac 价格 编辑:程序博客网 时间:2024/05/22 07:03

传入实体执行(可添加 修改 删除)事务。

 IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection"));
      bool result = true;
       try
       {
            dbHelper.BeginTransaction();
 //主表
            TE_AREAManager manager = new TE_AREAManager(dbHelper, userInfo);
            TE_AREAEntity tE_AREAEntity = manager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
            manager.Delete(tE_AREAEntity);
//子表
            TE_AREA_SUBManager submanager = new TE_AREA_SUBManager(dbHelper, userInfo);
            TE_AREA_SUBEntity tE_AREA_SUBEntity = submanager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
            submanager.Delete(tE_AREA_SUBEntity);
//事务提交 
            dbHelper.CommitTransaction();
       }
       catch(Exception ex)
       {
//事务回滚
           dbHelper.RollbackTransaction();
           result=false;
       }
 
可以传入sql语句执行事务
IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection"));
                    bool result = true;
                    try
                    {
                         dbHelper.BeginTransaction();
                         string   commandText = " DELETE FROM TE_AREA WHERE ID=" + dbHelper.SqlSafe(id);
                         dbHelper.ExecuteNonQuery(sqlString);
 
                         commandText = " DELETE FROM TE_AREA_SUB WHERE ID=" + dbHelper.SqlSafe(id);
                         dbHelper.ExecuteNonQuery(commandText);
 
                         dbHelper.CommitTransaction();
                    }
                    catch(Exception ex)
                    {
                        dbHelper.RollbackTransaction();
                        result=false;
                    }
 还可以同时传入实体,SQL语句
IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection"));
                   bool result = true;
                   try
                   {
                        dbHelper.BeginTransaction();
              //主表
                        TE_AREAManager manager = new TE_AREAManager(dbHelper, userInfo);
                        TE_AREAEntity tE_AREAEntity = manager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
                        manager.Delete(tE_AREAEntity);
              //子表
                        TE_AREA_SUBManager submanager = new TE_AREA_SUBManager(dbHelper, userInfo);
                        TE_AREA_SUBEntity tE_AREA_SUBEntity = submanager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
                        submanager.Delete(tE_AREA_SUBEntity);
              
             //执行SQL语句
              string commandText = " DELETE FROM JINTIANDA WHERE ID=" + dbHelper.SqlSafe(id);
              dbHelper.ExecuteNonQuery(commandText);
 
              //事务提交 
                        dbHelper.CommitTransaction();
                   }
                   catch(Exception ex)
                   {
             //事务回滚
                       dbHelper.RollbackTransaction();
                       result=false;
                   }
1 0
原创粉丝点击