天天看點

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#執行事務

        }