/// <summary> /// Os objetos DataReader é uma das maneiras mais fáceis para ler os dados retornados pelos objetos Command . /// Eles permitem acessar e percorrer os registros no modo de somente leitura e somente para frente - forward-only . /// Não oferecem acesso desconectado e não permitem alterar ou atualizar a fonte de dados original sendo usado para obter rapidamente dados de apenas leitura. /// Apresenta poucos recursos mas seu desempenho é muito melhor do que o oferecido pelos DataSet. /// </summary> /// <param name="commandType"></param> /// <param name="commandText"></param> /// <returns></returns> public IDataReader ExecuteReader(CommandType commandType, string commandText) { this.idbCommand = DBManagerFactory.GetCommand(this.ProviderType); idbCommand.Connection = this.Connection; PrepareCommand(idbCommand, this.Connection, this.Transaction, commandType, commandText, this.Parameters); this.DataReader = idbCommand.ExecuteReader(); idbCommand.Parameters.Clear(); return(this.DataReader); }
/// <summary> /// Retorna um objeto com o valor da primeira coluna da primeira linha /// O comando SQL deve ter apenas uma instrução: Ex:select max(codigo) from minhatabela /// </summary> /// <param name="commandType"></param> /// <param name="commandText"></param> /// <returns></returns> public object ExecuteScalar(CommandType commandType, string commandText) { this.idbCommand = DBManagerFactory.GetCommand(this.ProviderType); PrepareCommand(idbCommand, this.Connection, this.Transaction, commandType, commandText, this.Parameters); object returnValue = idbCommand.ExecuteScalar(); idbCommand.Parameters.Clear(); return(returnValue); }
public void Open() { idbConnection = DBManagerFactory.GetConnection(this.providerType); idbConnection.ConnectionString = this.ConnectionString; if (idbConnection.State != ConnectionState.Open) { idbConnection.Open(); } this.idbCommand = DBManagerFactory.GetCommand(this.ProviderType); }
/// <summary> /// O objeto DataSet da ADO.NET é uma representação na memória dos dados e fornece um consiste modelo independente de programaçao relacional de uma fonte de dados . /// O DataSet inclui as tabelas , relacionamentos , restrições , etc. /// A principal característica do DataSet é totalmente desconectado , /// você pode usar um DataSet para armazenar dados de um banco de dados e pode também mover os dados de um DataSet para um banco de dados , /// mas o próprio DataSet não faz conexão alguma com o banco de dados , ele nem mesmo tem um objeto para realizar tal conexão . /// A ligação entre o banco de dados e DataSet é feita pelo objeto DataAdapter (Adaptador de dados). /// A menos que você não precise usar as capacidades avançadas do DataSet , deverá sempre usar o objeto DataReader , pois ele oferece o melhor desempenho. /// </summary> /// <param name="commandType"></param> /// <param name="commandText"></param> /// <returns></returns> public DataSet ExecuteDataSet(CommandType commandType, string commandText) { this.idbCommand = DBManagerFactory.GetCommand(this.ProviderType); PrepareCommand(idbCommand, this.Connection, this.Transaction, commandType, commandText, this.Parameters); IDbDataAdapter dataAdapter = DBManagerFactory.GetDataAdapter(this.ProviderType); dataAdapter.SelectCommand = idbCommand; DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet); idbCommand.Parameters.Clear(); return(dataSet); }