private bool pmDeleteRow(string inRowID, string inCode, string inName, ref string ioErrorMsg) { bool bllIsCommit = false; bool bllResult = false; this.mSaveDBAgent = new WS.Data.Agents.cDBMSAgent(App.ConnectionString, App.DatabaseReside); this.mSaveDBAgent.AppID = App.AppID; this.mdbConn = this.mSaveDBAgent.GetDBConnection(); this.mSaveDBAgent2 = new WS.Data.Agents.cDBMSAgent(App.ERPConnectionString, App.DatabaseReside); this.mSaveDBAgent2.AppID = App.AppID; this.mdbConn2 = this.mSaveDBAgent2.GetDBConnection(); try { this.mdbConn.Open(); this.mdbTran = this.mdbConn.BeginTransaction(IsolationLevel.ReadUncommitted); this.mdbConn2.Open(); this.mdbTran2 = this.mdbConn2.BeginTransaction(IsolationLevel.ReadUncommitted); string strErrorMsg = ""; //Delete Child Table Business.Entity.QMasterSect QRefChild = new QMasterSect(App.ConnectionString, App.DatabaseReside); QRefChild.SetSaveDBAgent(this.mSaveDBAgent, this.mdbConn, this.mdbTran); QRefChild.SetSaveDBAgent2(this.mSaveDBAgent2, this.mdbConn2, this.mdbTran2); QRefChild.DeleteChildTable(inCode); object[] pAPara = new object[1] { inRowID }; this.mSaveDBAgent.BatchSQLExec("delete from " + this.mstrRefTable + " where cRowID = ?", pAPara, ref strErrorMsg, this.mdbConn, this.mdbTran); this.mdbTran.Commit(); this.mdbTran2.Commit(); bllIsCommit = true; WS.Data.Agents.cDBMSAgent objSQLHelper = new WS.Data.Agents.cDBMSAgent(App.ConnectionString, App.DatabaseReside); KeepLogAgent.KeepLog(objSQLHelper, KeepLogType.Delete, TASKNAME, inCode, inName, App.FMAppUserID, App.AppUserName); bllResult = true; } catch (Exception ex) { ioErrorMsg = ex.Message; bllResult = false; if (!bllIsCommit) { this.mdbTran.Rollback(); this.mdbTran2.Rollback(); } App.WriteEventsLog(ex); } finally { this.mdbConn.Close(); this.mdbConn2.Close(); } return(bllResult); }