예제 #1
0
 public abstract OracleDataReader ExecuteDataReaderRefCur(string procname, ProcParam procParam, int indexRefCur);
예제 #2
0
 public abstract object ExecuteScalar(ProcParam procParam);
예제 #3
0
 public abstract OracleDataReader ExecuteDataReader(ProcParam procParam);
예제 #4
0
 public abstract int ExecuteNonQuery(ProcParam procParam, List <ProcParam> procList, int keyHeader, int keyDetail);
예제 #5
0
 public abstract int ExecuteNonQuery(ProcParam procParam, List <ProcParam> procList);
예제 #6
0
 public abstract DataTable GetDataTable(ProcParam procParam, string tableName);
예제 #7
0
 public abstract int ExecuteNonQuery(ProcParam procParam);
예제 #8
0
 public abstract int ExecuteNonQuery(ProcParam paramHdr, ProcParam paramDtl1, int arrBindCount1, ProcParam paramDtl2, int arrBindCount2, ProcParam paramDtl3, int arrBindCount3, ProcParam paramDtl4, int arrBindCount4);
예제 #9
0
 public abstract DataTable GetDataTable(ProcParam procParam);
예제 #10
0
 public abstract int ExecuteNonQuery(ProcParam paramHdr, ProcParam paramDtl, int arrBindCount);
예제 #11
0
 public abstract int ExecuteNonQuery(ProcParam paramDtl1, int arrBindCount1, ProcParam paramDtl2, int arrBindCount2);
예제 #12
0
 //Just one to one!
 public abstract int ExecuteNonQuery(ProcParam paramHdr, int arrBindCountHdr, ProcParam paramDtl, int arrBindCountDtl, int keyHeader, int keyDetail);
예제 #13
0
 //Improve Performance
 public abstract int ExecuteNonQuery(ProcParam procParam, int arrBindCount);
예제 #14
0
 public abstract DataTable GetDataTable(ProcParam procParam, string tableName, long fetchsize);
예제 #15
0
 public abstract DataTable GetDataTable(ProcParam procParam, long fetchsize);
예제 #16
0
        public override int ExecuteNonQuery(ProcParam procParam, List <ProcParam> procList)
        {
            Stopwatch     _stopwatch = null;
            OracleCommand cmd        = null;
            int           ret        = 0;

            try
            {
                this.executionStartTime = DateTime.Now;
                _stopwatch = new Stopwatch();

                base.BeginTransaction();

                cmd = base._getCommand(procParam);

                if (cmd != null)
                {
                    _stopwatch.Start();
                    ret = cmd.ExecuteNonQuery();
                    _stopwatch.Stop();

                    if (procParam.IndexToCheck != -1)
                    {
                        string resultMessage = procParam.ReturnValue(procParam.IndexToCheck).ToString();
                        if (!procParam.MessageToCheck.Equals(resultMessage))
                        {
                            throw new Exception(resultMessage);
                        }
                    }

                    if (procList != null)
                    {
                        string        resultMessage = string.Empty;
                        OracleCommand commandDetail;
                        foreach (ProcParam paramDetail in procList)
                        {
                            commandDetail = base._getCommand(paramDetail);

                            _stopwatch.Reset();

                            _stopwatch.Start();
                            ret = commandDetail.ExecuteNonQuery();
                            _stopwatch.Stop();

                            if (paramDetail.IndexToCheck != -1)
                            {
                                resultMessage = paramDetail.ReturnValue(paramDetail.IndexToCheck).ToString();
                                if (!paramDetail.MessageToCheck.Equals(resultMessage))
                                {
                                    //Problem case
                                    throw new Exception(resultMessage);
                                }
                            }
                        }
                    }
                }
                else
                {
                    throw new MSDataLayerException("Command cannot be created since connection is not initialized.");
                }

                this.lastException = null;
                base.CommitTransaction();

                this.executionStopTime = DateTime.Now;
            }
            catch (MSDataLayerException tEx)
            {
                base.RollbackTransaction();
                throw tEx;
            }
            catch (Exception ex)
            {
                base.RollbackTransaction();
                ret = ODPDataAccess.ERROR_RESULT; this.lastException = ex;
            }
            finally
            {
                base.ExecuteTime = this.executionStopTime - this.executionStartTime;
                _stopwatch       = null;

                cmd.Dispose();
                cmd = null;
            }

            return(ret);
        }