none
C# e PostGre RRS feed

  • Pergunta

  • Boa noite.

    Eu estou precisando fazer uma aplicação q utilize BD PostGre

    Gostaria de saber como faço p\ fazer o PostGre funcionar no meu Visual Studio.

    E tenho a seguinte classe de conexão:

    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Data;
    using FirebirdSql.Data.FirebirdClient;
    
    namespace Proj_SIEmpresarial
    {
     /// <summary>
     /// Classe de manipulação de dados no BD Firebird
     /// </summary>
      public class cls_Banco
      {    
        FbConnection _conexao;
    
        public FbConnection Conexao
        {
          get { return _conexao; }
          set { _conexao = value; }
        }
        
        FbCommand _comando;
    
        public FbCommand Comando
        {
          get { return _comando; }
          set { _comando = value; }
        }
    
        bool _gerenciarConexaoAutomatica;
    
        public bool GerenciarConexaoAutomatica
        {
          get { return _gerenciarConexaoAutomatica; }
          set { _gerenciarConexaoAutomatica = value; }
        }
    
        public cls_Banco()
        {
          _conexao = new FbConnection("User=SYSDBA;Password=masterkey;Database=D:\\Proj_CDeDVD\\App_Data\\BANCO_CDEDVD.FDB;DataSource=localhost;Port=3050;Dialect=3");
          _comando = _conexao.CreateCommand();
          _gerenciarConexaoAutomatica = true;      
        }
    
        public void AbrirConexao()
        {  
          if(_conexao.State == System.Data.ConnectionState.Closed)
            _conexao.Open();
        }
    
        public void FecharConexao()
        {
          if (_conexao.State == System.Data.ConnectionState.Open)
            _conexao.Close();
        }
    
        /// <summary>
        /// Execute comandos INSERT, UPDATE, DELETE e STORED PROCEDURE
        /// </summary>
        /// <returns>Quantidade de linhas afetadas.</returns>
        public int ExecuteComandoNonQuery()
        {
          if (_comando.CommandText == "")
            throw new Exception("Comando sem instrução SQL.");
          
          int retorno = 0;
    
          try
          {
            if (_gerenciarConexaoAutomatica)
              AbrirConexao();
    
            retorno = _comando.ExecuteNonQuery();
          }
          catch (Exception ex)
          {
            throw new Exception("Erro na classe Firebird.", ex);
          }
          finally
          {
            if (_gerenciarConexaoAutomatica)
              FecharConexao();
          }
          
          return (retorno);
        }
    
        /// <summary>
        /// Executa funções de agregação.
        /// </summary>
        /// <returns>Um objeto.</returns>
        public object ExecuteComandoScalar()
        {
          if (_comando.CommandText == "")
            throw new Exception("Comando sem instrução SQL.");
    
          object retorno = 0;
    
          try
          {
            if (_gerenciarConexaoAutomatica)
              AbrirConexao();
    
            retorno = _comando.ExecuteScalar();
          }
          catch (Exception ex)
          {
            throw new Exception("Erro na classe Firebird.", ex);
          }
          finally
          {
            if (_gerenciarConexaoAutomatica)
              FecharConexao();
          }
          return (retorno);
        }
    
    
        public DataTable ExecuteComando()
        {
          if (_comando.CommandText == "")
            throw new Exception("Comando sem instrução SQL.");
    
          DataTable retorno = new DataTable();
          try
          {
            if (_gerenciarConexaoAutomatica)
              AbrirConexao();
    
            FbDataReader dr = _comando.ExecuteReader();
            retorno.Load(dr);
          }
          catch (Exception ex)
          {
            throw new Exception("Erro na classe Firebird.", ex);
          }
          finally
          {
            if (_gerenciarConexaoAutomatica)
              FecharConexao();
          }
    
          return (retorno);
        }
      }
    }

    Gostaria de saber como fazer esta classe de conexão funcionar c\ o PostGre

     

    Obrigado

    quinta-feira, 29 de abril de 2010 20:34

Respostas

Todas as Respostas