quinta-feira, 16 de abril de 2009

Então que dizer a mesma coisa?!



Senhores gosto muito de frenquentar fórum sobre C# para tirar algumas dúvidas, não sou de cuspir no prato que come mas eu faço questão de limpar a mesa (vc entendeu?...nem eu!) e não deixo de observar as redudâncias em torno do codigo de conexão do banco, respeito o "Jutsu" de cada um, mas para quem quer evoluir nesse mundo o melhor a fazer é upar!

lhes apresento um codigo de conexao com banco único para qualquer desenvolvimento:

----------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;

namespace ClassesNegocio
{

class ConexaoBanco
{
//Método que é responsável pela conexão com o Banco de Dados.
//Contém a String de conexão(caminho do banco)
//Tem como retorn a conexão aberta
public OleDbConnection conectar()
{
//string de conexão com o banco
// string conexaoString = @"Provider=Microsoft.Jet.OLEDB.4.0;"+
// @"Data Source=t:\_curso C#\db\DBProduto.mdb;Persist Security Info=False";


//se não quiser usa udl use o propri caminho da banco, udl só é usada para desktop!
string conexaoString = @"file name= banco.udl";

//Estabelecendo a conexão com o banco (Somente o meio de comunicação)
OleDbConnection conexao = new OleDbConnection(conexaoString);
//Abrindo a conexão com o banco
conexao.Open();
//Retorna a conexão estabelecida com o status de aberta
return conexao;
}

//Método que recebe como parâmetro um sql(SELECT)
//que terá 1(um) ou mais registros como retorno
//Retorna um dataset preenchido.
public DataSet getDataSet(string sql)
{
// Criar um objeto comando, onde estabelece a conexão com o banco e executa a SQL(SELECT).
OleDbCommand comando = new OleDbCommand(sql, conectar());
// Criar um data adapter para recuperar o comando anterior
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(comando);
// Criar um novo DataSet que será preenchido com o retorno da SQL.
DataSet ds = new DataSet();
// o metodo FILL Preenche o dataset com os dados do comando.
dataAdapter.Fill(ds);
// retorna o DataSet preenchido e desconectado
return ds;
}

//Método muito semelhante ao getDataSet, porém com uma melhor performance de leitura.
//Método que recebe um parâmetro SQL (SELECT)
//que terá 1(um) ou mas registros como retorno.
//Retorna um DataReader preenchido.
public OleDbDataReader getDataReader(string sql)
{
// Criar um objeto comando, onde estabelece a conexão com o banco e executa a SQL(SELECT).
OleDbCommand comando = new OleDbCommand(sql, conectar());
//Retorna o DataReader preenchido.
return comando.ExecuteReader();
}

//Método que executa os diversos comandos SQL's
//Por exemplo o INSERT, UPDATE, DELETE
//Porém este método tem somente a função de executar, não retornando nada como resposta.
public void ExecutarComando(string sql)
{
// criada a conexao através do método conectar()
// não precisa dar new pq o método retorno um objeto instanciado.

//Criar um conexão com o banco
OleDbConnection con = conectar();
// criar um novo comando usando a conexão e a SQL
OleDbCommand comando = new OleDbCommand(sql, con);

//Executa o comando (INSERT, DELETE, UPDATE)
comando.ExecuteNonQuery();

//Depois de feito a execução do SQL, fecha a conexão com o Banco.
con.Close();

}// fim ExecutarComando
}
}


----------------------------------

Obs é claro que falar que é pra tudo é um exagero, mas pra a maioria de aplicativos de que estou fazendo funfa, tanto pra web quanto pra desktop.

Agora ve se não colocar essa porra toda no botão, Doidão!!

=P

Nenhum comentário: