/// <summary> /// Prepara o comando da Storedprocedure para execução. /// </summary> /// <param name="session"></param> /// <param name="procedure">Storedprocedure que será processada.</param> /// <param name="cmd">Comando que será preparado.</param> public void PrepareCommand(GDASession session, GDAStoredProcedure procedure, IDbCommand cmd) { cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = procedure.CommandTimeout; cmd.CommandText = procedure.Name; foreach (GDAParameter param in procedure) { cmd.Parameters.Add(GDA.Helper.GDAHelper.ConvertGDAParameter(cmd, param, UserProvider)); } }
/// <summary> /// Executa a stored procedure usando a sessão. /// </summary> /// <param name="session"></param> /// <param name="procedure"></param> /// <returns>Número de linhas afetadas.</returns> public int ExecuteCommand(GDASession session, GDAStoredProcedure procedure) { IDbConnection conn = CreateConnection(session); IDbCommand cmd = CreateCommand(session, conn); int valueReturn = 0; try { procedure.Prepare(cmd, UserProvider); if (session == null && conn.State != ConnectionState.Open) { try { conn.Open(); } catch (Exception ex) { throw new GDAException(ex); } GDAConnectionManager.NotifyConnectionOpened(conn); } try { SendMessageDebugTrace(cmd.CommandText); valueReturn = cmd.ExecuteNonQuery(); } catch (Exception ex) { throw new GDAException("StoredProcedure: " + cmd.CommandText + ". --> " + ex.Message, ex); } for (int i = 0; i < cmd.Parameters.Count; i++) { procedure[i] = ((IDbDataParameter)cmd.Parameters[i]).Value; } } finally { try { cmd.Dispose(); cmd = null; } finally { if (session == null) { conn.Close(); conn.Dispose(); } } } return(valueReturn); }
/// <summary> /// Carrega um unico registro. /// </summary> /// <param name="session">Sess�o onde a procedure ser� executada.</param> /// <param name="procedure">Dados da stored procedure a ser executada.</param> /// <param name="selectProperties">Nomes das propriedades que ser�o recuperadas na consulta separados por v�rgula.</param> /// <returns>Item encontrado ou nulo se o item n�o foi encontrado.</returns> /// <exception cref="GDAColumnNotFoundException"></exception> /// <exception cref="GDAException"></exception> public Model LoadOneData(GDASession session, GDAStoredProcedure procedure, string selectProperties) { GDAList <Model> list = LoadData(session, procedure, selectProperties); if (list.Count > 0) { return(list[0]); } else { return(default(Model)); } }
public GDACursor <T> LoadValues <T>(GDASession session, GDAStoredProcedure procedure) where T : new() { IDbConnection conn = CreateConnection(session); IDbCommand cmd = CreateCommand(session, conn); cmd.Connection = conn; procedure.Prepare(cmd, UserProvider); return(new GDACursor <T>(UserProvider, session, conn, cmd, (sender, e) => { for (int i = 0; i < cmd.Parameters.Count; i++) { var dataParamter = (IDbDataParameter)cmd.Parameters[i]; if (dataParamter.Direction == ParameterDirection.Output || dataParamter.Direction == ParameterDirection.ReturnValue) { procedure[i] = ((IDbDataParameter)cmd.Parameters[i]).Value; } } })); }
/// <summary> /// Carrega um unico registro. /// </summary> /// <param name="session">Sess�o onde a procedure ser� executada.</param> /// <param name="procedure">Dados da stored procedure a ser executada.</param> /// <returns>Item encontrado ou nulo se o item n�o foi encontrado.</returns> /// <exception cref="GDAColumnNotFoundException"></exception> /// <exception cref="GDAException"></exception> public Model LoadOneData(GDASession session, GDAStoredProcedure procedure) { return(LoadOneData(session, procedure, null)); }
/// <summary> /// Carrega um unico registro. /// </summary> /// <param name="procedure">Dados da stored procedure a ser executada.</param> /// <returns>Item encontrado ou nulo se o item n�o foi encontrado.</returns> /// <exception cref="GDAColumnNotFoundException"></exception> /// <exception cref="GDAException"></exception> public Model LoadOneData(GDAStoredProcedure procedure) { return(LoadOneData(null, procedure, null)); }
/// <summary> /// Carrega um unico registro. /// </summary> /// <param name="procedure">Dados da stored procedure a ser executada.</param> /// <param name="selectProperties">Nomes das propriedades que ser�o recuperadas na consulta separados por v�rgula.</param> /// <returns>Item encontrado ou nulo se o item n�o foi encontrado.</returns> /// <exception cref="GDAColumnNotFoundException"></exception> /// <exception cref="GDAException"></exception> public Model LoadOneData(GDAStoredProcedure procedure, string selectProperties) { return(LoadOneData(null, procedure, selectProperties)); }
/// <summary> /// Carrega os dado com o retorno da stored procedure. /// </summary> /// <param name="session">Sess�o onde a procedure ser� executada.</param> /// <param name="procedure">Dados da stored procedure a ser executada.</param> /// <param name="selectProperties">Nomes das propriedades que ser�o recuperadas na consulta separados por v�rgula.</param> /// <returns>Lista com os dados do retorno.</returns> public GDACursor <Model> LoadData(GDASession session, GDAStoredProcedure procedure, string selectProperties) { return(new GDACursor <Model>(GetCursorParameters(session, procedure, selectProperties))); }
/// <summary> /// Carrega os dado com o retorno da stored procedure. /// </summary> /// <param name="session">Sess�o onde a procedure ser� executada.</param> /// <param name="procedure">Dados da stored procedure a ser executada.</param> /// <returns>Lista com os dados do retorno.</returns> public GDACursor <Model> LoadData(GDASession session, GDAStoredProcedure procedure) { return(LoadData(session, procedure, null)); }
/// <summary> /// Carrega os dado com o retorno da stored procedure. /// </summary> /// <param name="procedure">Dados da stored procedure a ser executada.</param> /// <returns>Lista com os dados do retorno.</returns> public GDACursor <Model> LoadData(GDAStoredProcedure procedure) { return(LoadData(null, procedure)); }
/// <summary> /// Executa a Stored Procedure e recupera os dados do resultado. /// </summary> /// <param name="session">Sessão onde será executada a consulta.</param> /// <param name="procedure">Procedure que será executada.</param> /// <returns></returns> public GDADataRecordCursor LoadResult(GDASession session, GDAStoredProcedure procedure) { return(new GDADataRecordCursor(GetLoadResultCursorParameters(session, procedure))); }
/// <summary> /// Executa a Stored Procedure e recupera os dados do resultado. /// </summary> /// <param name="procedure">Procedure que será executada.</param> /// <returns></returns> public GDADataRecordCursor LoadResult(GDAStoredProcedure procedure) { return(LoadResult(null, procedure)); }
public object ExecuteScalar(GDASession session, GDAStoredProcedure procedure) { IDbConnection conn = CreateConnection(session); IDbCommand cmd = CreateCommand(session, conn); object valueReturn = null; try { procedure.Prepare(cmd, UserProvider); if (session == null && conn.State != ConnectionState.Open) { try { conn.Open(); } catch (Exception ex) { throw new GDAException(ex); } GDAConnectionManager.NotifyConnectionOpened(conn); } SendMessageDebugTrace(cmd.CommandText); try { using (var executionHandler = Diagnostics.GDATrace.CreateExecutionHandler(cmd)) try { valueReturn = cmd.ExecuteScalar(); } catch (Exception ex) { executionHandler.Fail(ex); throw ex; } } catch (Exception ex) { throw new GDAException("StoredProcedure: " + cmd.CommandText + "; --> " + ex.Message, ex); } for (int i = 0; i < cmd.Parameters.Count; i++) { procedure[i] = ((IDbDataParameter)cmd.Parameters[i]).Value; } } finally { try { cmd.Dispose(); cmd = null; } finally { if (session == null) { conn.Close(); conn.Dispose(); } } } return(valueReturn); }
public object ExecuteScalar(GDAStoredProcedure procedure) { return(ExecuteScalar(null, procedure)); }
/// <summary> /// Executa a stored procedure. /// </summary> /// <param name="procedure">Dados da stored procedure.</param> /// <returns>Número de linhas afetadas.</returns> public int ExecuteCommand(GDAStoredProcedure procedure) { return(ExecuteCommand(null, procedure)); }
/// <summary> /// Recupera os parametros necessário para executar a consulta. /// </summary> /// <param name="session">Sessão onde será executada a consulta.</param> /// <param name="procedure">Procedure que será executada.</param> /// <returns></returns> internal GDACursorParameters GetLoadResultCursorParameters(GDASession session, GDAStoredProcedure procedure) { IDbConnection conn = CreateConnection(session); IDbCommand cmd = CreateCommand(session, conn); PrepareCommand(session, procedure, cmd); return(new GDACursorParameters(this.UserProvider, session, conn, cmd, null, false, 0, 0, null)); }