/** Autor: Marcos Guedes* Fonte: http://forum.programacaobrasil.com/-t291.htm*/using System;using System.Data;public abstract class BancoDados{protected string strConexao = ""; // String de conexãoprotected string mensagemErro = ""; // Última mensagem de erro armazenada.protected bool conectado = false; // Status de conexão com o banco de dadosprotected int quantos = 0; // Quantidade de registros filtrados no último SELECTprotected DataTable objDt;public void setStrConexao(string strConexao){/*** Altera o valor da string de conexão*/this.strConexao = strConexao;}public bool getConectado(){/** Retorna o status de conexão com o banco de dados*/return this.conectado;}public string getMensagemErro(){/*** Retorna a última mensagem de erro.* No caso de uma operação bem sucessidade,* o retorno é uma string vazia.*/return this.mensagemErro;}public DataTable getObjDt(){/*** Retorna um DataTable contendo os registros do último select*/return this.objDt;}public int getQuantos(){/*** Retorna a quantidade de do último select*/return this.quantos;}}namespace AcessoODBC{using System.Data.Odbc;public class BancoODBC : BancoDados{private OdbcConnection objConexao; // Objeto de conexão com o banco através do driver odbcprivate OdbcCommand objComando;public BancoODBC(){ }public BancoODBC(string strConexao){/* Sobrecarga de construtor, permitindo a opção de passar a* string de conexão no momento em que o objeto for instanciado*/this.strConexao = strConexao;}public void conectar(){/*** Tenta realizar uma conexão com um Banco de Dados*/bool conectado;try{this.objConexao = new OdbcConnection(this.strConexao);this.objConexao.Open(); // Abre a conexão com o banco de dadosthis.mensagemErro = "";conectado = true;}catch(Exception oErro){this.mensagemErro = oErro.Message;conectado = false;}this.conectado = conectado;}public void desconectar(){/*** Desconecta-se do banco de dados*/this.objConexao.Close();this.conectado = false;}public bool executar(string comando){/*** Executa comandos SQL.*/bool sucesso;try{this.objComando = new OdbcCommand(comando, this.objConexao);this.objDt = new DataTable();OdbcDataReader dr = this.objComando.ExecuteReader();objDt.Load(dr);this.quantos = dr.RecordsAffected; // Filtra a quantidade de registros afetadosthis.mensagemErro = "";sucesso = true;}catch (Exception oErro){this.quantos = -1;this.mensagemErro = oErro.Message;this.objDt = null;sucesso = false;}return sucesso;}}}namespace AcessoBancoOLEDB{using System.Data.OleDb;public class BancoOLEDB : BancoDados{private OleDbConnection objConexao; // Objeto de conexão com o banco através do driver odbcprivate OleDbCommand objComando;public void conectar(){/*** Tenta realizar uma conexão com um Banco de Dados*/bool conectado;try{this.objConexao = new OleDbConnection(this.strConexao);this.objConexao.Open(); // Abre a conexão com um banco de dadosthis.mensagemErro = "";conectado = true;}catch (Exception oErro){this.mensagemErro = oErro.Message;conectado = false;}this.conectado = conectado;}public void desconectar(){/*** Desconecta-se do banco de dados*/this.objConexao.Close();this.conectado = false;}public bool executar(string comando){/*** Executa comandos SQL.*/bool sucesso;try{this.objComando = new OleDbCommand(comando, this.objConexao);this.objDt = new DataTable();OleDbDataReader dr = this.objComando.ExecuteReader();objDt.Load(dr);this.quantos = dr.RecordsAffected; // Filtra a quantidade de registros afetadosthis.mensagemErro = "";sucesso = true;}catch (Exception oErro){this.quantos = -1;this.mensagemErro = oErro.Message;this.objDt = null;sucesso = false;}return sucesso;}}}namespace AcessoBancoSQL{using System.Data.SqlClient;public class BancoSQL : BancoDados{private SqlConnection objConexao; // Objeto de conexão com o banco através do driver odbcprivate SqlCommand objComando;public void conectar(){/*** Tenta realizar uma conexão com um Banco de Dados*/bool conectado;try{this.objConexao = new SqlConnection(this.strConexao);this.objConexao.Open(); // Abre a conexão com um banco de dadosthis.mensagemErro = "";conectado = true;}catch (Exception oErro){this.mensagemErro = oErro.Message;conectado = false;}this.conectado = conectado;}public void desconectar(){/*** Desconecta-se do banco de dados*/this.objConexao.Close();this.conectado = false;}public bool executar(string comando){/*** Executa comandos SQL.*/bool sucesso;try{this.objComando = new SqlCommand(comando, this.objConexao);this.objDt = new DataTable();SqlDataReader dr = this.objComando.ExecuteReader();objDt.Load(dr);this.quantos = dr.RecordsAffected; // Filtra a quantidade de registros afetadosthis.mensagemErro = "";sucesso = true;}catch (Exception oErro){this.quantos = -1;this.mensagemErro = oErro.Message;this.objDt = null;sucesso = false;}return sucesso;}}}
terça-feira, 20 de julho de 2010
Acesso a Banco de Dados
Subscrever:
Enviar feedback (Atom)
Sem comentários:
Enviar um comentário