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); }
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); } }
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); } } }
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; } } }
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); } }