天天看点

C#执行事务

C#执行事务

public   int  Add()

C#执行事务
C#执行事务

         ... {

C#执行事务

            int intReturn = -1;

C#执行事务

            if (this.GetPhsInfo(this.Terminal_No) == null)

C#执行事务
C#执行事务

            ...{

C#执行事务

                intReturn = -1;

C#执行事务

            }

C#执行事务

            else

C#执行事务
C#执行事务

            ...{

C#执行事务

                SMS.Agent.AgentPhsNoInfo agent = this.GetPhsInfo(this.Terminal_No);

C#执行事务

                this.Agent_Code_One = agent.AgentCodeOne;

C#执行事务

                this.Agent_Code_Two = agent.AgentCodeTwo;

C#执行事务

                //更新终端号码的值

C#执行事务

                if (agent.PhsNo == null)

C#执行事务
C#执行事务

                ...{

C#执行事务

                    this.Terminal_Phs_No = "";

C#执行事务

                }

C#执行事务

                else

C#执行事务
C#执行事务

                ...{

C#执行事务

                    this.Terminal_Phs_No=agent.PhsNo;

C#执行事务

                }

C#执行事务

            }

C#执行事务

            OracleConnection connection = new OracleConnection(SMS.DBUtility.OracleHelper.ConnectionString);

C#执行事务

            connection.Open();

C#执行事务

            OracleTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);

C#执行事务

            OracleCommand oraCmd = new OracleCommand();

C#执行事务

            try

C#执行事务
C#执行事务

            ...{

C#执行事务
C#执行事务

                string strSqlAddDeduct = "Insert Into ter_phs_deduct_list(Agent_Key,Agent_Code_One,Agent_Code_Two,Terminal_Phs_No,Phs_No," +

C#执行事务

                    "Account_Money,Account_Date,Status,Send_Status,Memo,FormNo,Terminal_No) Values('" + this.Agent_Key + "'," +

C#执行事务

                    "'" + this.Agent_Code_One + "','" + this.Agent_Code_Two + "','" + this.Terminal_Phs_No + "'," +

C#执行事务

                    "'" + this.Phs_No + "','" + this.Account_Money + "',to_date('" + this.Account_Date.ToString() + "','yyyy-mm-dd hh24:mi:ss')," +

C#执行事务

                    "'" + this.Status + "','" + this.Send_Status + "','" + this.Memo + "','" + this.FormNo + "','" + this.Terminal_No + "')";

C#执行事务
C#执行事务

                //对用户终端的可用金额 Account_Money 字段进行更新 

C#执行事务

                string strUpdateMoney = "Update agent_phs_No Set Account_Money=Account_Money - " + this.Account_Money + " Where Terminal_No='" + this.Terminal_No + "'";

C#执行事务
C#执行事务

                oraCmd.Connection = connection;

C#执行事务

                oraCmd.Transaction = transaction;

C#执行事务
C#执行事务

                oraCmd.CommandText = strSqlAddDeduct;

C#执行事务

                oraCmd.ExecuteNonQuery();

C#执行事务
C#执行事务

                oraCmd.CommandText = strUpdateMoney;

C#执行事务

                oraCmd.ExecuteNonQuery();

C#执行事务
C#执行事务

                transaction.Commit();

C#执行事务
C#执行事务

                intReturn = 1;

C#执行事务

            }

C#执行事务

            catch(Exception ex)

C#执行事务
C#执行事务

            ...{

C#执行事务

                transaction.Rollback();

C#执行事务

                connection.Close();

C#执行事务

                connection.Dispose();

C#执行事务

            }

C#执行事务

            finally

C#执行事务
C#执行事务

            ...{

C#执行事务

                transaction.Dispose();

C#执行事务

                connection.Close();

C#执行事务

                connection.Dispose();

C#执行事务

            }

C#执行事务
C#执行事务

            return intReturn;

C#执行事务

        }