Apresento a vocês uma classe em C# para efetuar conexão com banco de dados SQL SERVER.
Esta classe utiliza realiza leitura do arquivo WEB.Config, é uma classe simples e com pouca modificações podem ter outras implementações.
Espero que esta possa lhe ser de grande utilidade
// Chave existente no arquivo Web.Config// Arquivo Conexao.CS // Classes padrões do C# using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; // Classe que permite acesso ao SQL Server (Obrigatorio) public class clsConexao { #region Declaracao de Variaveis globais private bool _State; // Indica ULTIMO Status da conexão private string _ErrorMessage; // Indica ULTIMO Mensagem de Erro da conexao private int _ErrorNumber; // Indica ULTIMO Numero de Erro da conexao private bool _CompleteCommand; // Indica ULTIMO comando foi executado com sucesso private SqlDataReader _rsData; // Usado para retornar colecao de registros private SqlConnection myConnection; // Representa a conexão com banco de dados #endregion #region Definicao de Metodos public void ExecuteCommand(string myConnectionName, string myQueryString) { // Metodo responsavel por executar uma instrução SQL // Recebe como parametro o nome de uma chave do arquivo web.config que contem string de conexão e // a instrução SQL a ser executada pode ser um SELECT ou uma procedure (preferencialmente) // Utililizo Tray..Catch para tratamento de erro try { // Definir valores padrões das variaveis _ErrorMessage = ""; _State = false; // Se nao for passado nenhuma chave de conexão do arquivo web.config // vou setar uma chave padrao de conexão do arquivo Web.Config if (myConnectionName.Length == 0) { // Aqui estou indicando o nome da chave que contem a string de conexão no arquivo web.config myConnectionName = "Connection_Developer"; } string myConnectionString = ConfigurationManager.ConnectionStrings[myConnectionName].ConnectionString.ToString(); // Se não for informado comando T-SQL retorno error if (myQueryString.Length > 0) // Se realmente foi passado um comando a ser executado { // Inicio uma conexão com o banco de dados SqlConnection myConnection = new SqlConnection(myConnectionString); // Abro a conexão myConnection.Open(); // Inicio um comando SqlCommand myCommand = new SqlCommand(myQueryString, myConnection); // Executo um comando com ExecuteReader, pois este retorna dados a um SqlDataReader _rsData = myCommand.ExecuteReader(); // Executo do comando _State = true; // Indico o status da operação _CompleteCommand = true; } } catch (Exception ex) { // Em caso de erro seto as variaveis abaixo _ErrorMessage = ex.Message.ToString(); _State = false; _ErrorNumber = ex.GetHashCode(); } } public SqlDataReader RecordSet { // Metodo para ler os registros get { return _rsData; } } public int ErrorNumber { // Metodo para ler ultimo código de error get { return _ErrorNumber; } } public string ErrorDescription { // Metodo para ler ultima descrição de error get { return _ErrorMessage; } } public bool ConnectionState { // Metodo para ler ultimo status da conexao get { return _State; } } public bool CompleteCommand { // Metodo para ler status do ultimo comando executado. get { return _CompleteCommand; } } #endregion } // Exemplo de utilização da classe Conexao.cs using System.Data.SqlClient; public void InsereRegistro() { try { string sSQL = ""; sSQL = "sp_Campanha " + " @Tipo =1," + " @CampanhaTitulo = '" + _campanhatitulo.ToString() + "', " + " @CampanhaDescricao = '" + _campanhadescricao.ToString() + "', " + " @IDArquivo = '" + _upload.ToString() + "', " + " @Destaque = '" + _destaque.ToString() + "', " + " @CampanhaCanais = '" + _campanhacanais.ToString() + "', " + " @CampanhaEmpresas = '" + _campanhaempresa.ToString() + "', " + " @dtInicial = '" + _dtInicial.ToString() + "', " + " @dtFinal = '" + _dtFinal.ToString() + "'"; clsConexao ObjConexao = new clsConexao(); ObjConexao.ExecuteCommand("Connection_Developer", sSQL); if (ObjConexao.CompleteCommand) { _StateLastCommand = true; } } catch (Exception ex) { _StateLastCommand = false; } }