Example #1
0
        public T RunScalarFunctionResult <T>(string ScalarFunctionName, T DefaultValue, out bool Result, params IDataParameter[] parameters)
        {
            Result = false;
            DBOpenResults firstConnectionState = DBOpenResults.Failed;

            try
            {
                firstConnectionState = Open();

                if (!IsConnectionOpen && firstConnectionState == DBOpenResults.Failed)
                {
                    return(DefaultValue);
                }

                var reader = RunStatement(BuildScalarFunctionStatement(ScalarFunctionName, parameters), parameters, out Result);

                while (reader.Read())
                {
                    return((T)reader.GetValue(0));
                }

                DataReaderEnumerator.HandleDataReader(reader);
            }
            catch (System.Exception e)
            {
                SetLastExceptionError(e);
                Result = false;
            }
            finally
            {
                Close(firstConnectionState);
            }

            return(DefaultValue);
        }
Example #2
0
        public long GetProcedureResultInt64(string storedProcName, IDataParameter[] parameters, out int rowsAffected, out bool Result)
        {
            Result       = false;
            rowsAffected = 0;
            DBOpenResults firstConnectionState = DBOpenResults.Failed;

            try
            {
                long result    = -1;
                bool subResult = false;

                firstConnectionState = Open();

                if (!IsConnectionOpen && firstConnectionState == DBOpenResults.Failed)
                {
                    return(-1);
                }

                DbCommand command = BuildIntCommand(storedProcName, parameters, out subResult);
                if (subResult)
                {
                    rowsAffected = command.ExecuteNonQuery();
                    if (command.Parameters["@ReturnValue"] != null)
                    {
                        result = Convert.ToInt64(command.Parameters["@ReturnValue"].Value);
                    }
                    else
                    {
                        result = -1;
                    }

                    Result = true;
                    return(result);
                }
                else
                {
                    rowsAffected = -1;
                    Result       = false;
                    return(-1);
                }
            }
            catch (System.Exception e)
            {
                SetLastExceptionError(e);
                Result       = false;
                rowsAffected = -1;
                return(-1);
            }
            finally
            {
                Close(firstConnectionState);
            }
        }
Example #3
0
        public DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName, out bool Result)
        {
            Result = false;
            DBOpenResults firstConnectionState = DBOpenResults.Failed;

            try
            {
                firstConnectionState = Open();
                if (!IsConnectionOpen && firstConnectionState == DBOpenResults.Failed)
                {
                    return(null);
                }

                DataSet dataSet   = new DataSet();
                bool    subResult = false;

                var dataAdapter = ProviderFactory.CreateDataAdapter();
                dataAdapter.SelectCommand = BuildQueryCommand(storedProcName, parameters, out subResult);
                if (subResult)
                {
                    dataAdapter.Fill(dataSet, tableName);
                    Result = true;
                    return(dataSet);
                }
                else
                {
                    Result = false;
                    return(null);
                }
            }
            catch (System.Exception e)
            {
                SetLastExceptionError(e);
                Result = false;
                return(null);
            }
            finally
            {
                if (KeepConnectionStates)
                {
                    Close(firstConnectionState);
                }
            }
        }
Example #4
0
        public virtual void Close(DBOpenResults LastStatus2Keep)
        {
            if (!KeepConnectionStates)
            {
                Close();
            }
            else
            {
                switch (LastStatus2Keep)
                {
                case DBOpenResults.Failed:
                case DBOpenResults.WasAlreadyOpen:
                    break;

                default:
                case DBOpenResults.SuccessfullyOpened:
                    Close();
                    break;
                }
            }
        }
Example #5
0
        public DbDataReader RunProcedure(string StoredProcedureName, IDataParameter[] parameters, out bool Result)
        {
            Result = false;
            DBOpenResults firstConnectionState = DBOpenResults.Failed;

            try
            {
                firstConnectionState = Open();

                if (!IsConnectionOpen && firstConnectionState == DBOpenResults.Failed)
                {
                    return(null);
                }

                bool subResult = false;

                DbCommand command = BuildQueryCommand(StoredProcedureName, parameters, out subResult);
                if (subResult)
                {
                    command.CommandType = CommandType.StoredProcedure;

                    var returnReader = command.ExecuteReader();
                    //if DbConnectionObj will be closed here, no data can be read...
                    //!!! DON'T !!! Close();  !!! DON'T !!!
                    Result = true;
                    return(returnReader);
                }
                else
                {
                    Result = false;
                    return(null);
                }
            }
            catch (System.Exception e)
            {
                SetLastExceptionError(e);
                Result = false;
                return(null);
            }
        }