Categorias

Classe ASP.NET de manipulação de banco de dados em C#

Este código é uma classe que realiza o controle das conexões e execuções de queries no banco de dados.

Há diversos métodos implementados nesta classe como:
retornaQuery: Método que retorna um datareader com o resultado da query.
retornaQueryDataSet: Método que retorna o resultado da consulta sql em um dataset.
executaQuery: Método que executa a query sql.
executaQueryIdentity: Método que executa a query sql e retorna o identity.

Fácil de entender, utilizar e implementar.

using System;
using System.Collections.Generic;
using System.Text;
using System.Data; 
using System.Data.SqlClient;  
using System.Configuration;

namespace Projeto.DAO
{
    public class Dados
    {
      
       /// 
       /// Método que retorna a conexão com  a base de dados.
       /// 
       /// 
       private static SqlConnection connection()
       {
           try
           {
               //Instância o sqlconnection com a string de conexão.
               SqlConnection sqlconnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"].ToString());

               //Verifica se a conexão esta fechada.
               if (sqlconnection.State == ConnectionState.Closed)
               {
                   //Abri a conexão.
                   sqlconnection.Open();
               }

               //Retorna o sqlconnection.
               return sqlconnection; 


           }
           catch (SqlException ex)
           {
               throw ex;
           }

       }

       /// 
       /// Método que retorna um datareader com o resultado da query.
       /// 
       /// 
       /// 
       public static SqlDataReader retornaQuery(string query)
       {
           try
           {
               //Instância o sqlcommand com a query sql que será executada e a conexão.
               SqlCommand comando = new SqlCommand(query, connection());

               //Executa a query sql.
               var retornaQuery = comando.ExecuteReader();

               //Fecha a conexão.
               connection().Close();

               //Retorna o dataReader com o resultado
               return retornaQuery;
               
           }
           catch (SqlException ex)
           {
               throw ex;
           }
 
       }

       /// 
       /// Método que retorna o resultado da consulta sql em um dataset.
       /// 
       /// 
       /// 
       public static DataSet retornaQueryDataSet(string query)
       {
           try
           {
               //Instância o sqlcommand com a query sql que será executada e a conexão.
               SqlCommand comando = new SqlCommand(query, connection());

               //Instância o sqldataAdapter.
               SqlDataAdapter adapter = new SqlDataAdapter(comando);

               //Instância o dataSet de retorno.
               DataSet dataSet = new DataSet();

               //Atualiza o dataSet
               adapter.Fill(dataSet);

               //Retorna o dataSet com o resultado da query sql.
               return dataSet;
           }
           catch (Exception ex)
           {
               throw ex;
           }
 
       }

       /// 
       /// Método que executa a query sql.
       /// 
       /// 
       public static void executaQuery(string query)
       {
           try
           {
               //Instância o sqlcommand com a query sql que será executada e a conexão.
               SqlCommand comando = new SqlCommand(query, connection());

               //Executa a query sql.
               comando.ExecuteNonQuery();  
 
           }
           catch(Exception ex) 
           {
               throw ex;
           }
       }

       /// 
       /// Método que executa a query sql e retorna o identity.
       /// 
       /// 
       public static int executaQueryIdentity(string query)
       {
           try
           {
               //Instância o sqlcommand com a query sql que será executada e a conexão.
               SqlCommand comando = new SqlCommand(query, connection());
               comando.CommandType = CommandType.Text;

               //Executa a query sql.

               //comando.ExecuteNonQuery();
               return Convert.ToInt32(comando.ExecuteScalar());

           }
           catch (Exception ex)
           {
               throw ex;
           }
       }

    }
}