Array
(
)

Conexão com o Firebrd no VS 2008

Geraldo Junio
   - 20 mai 2010

Bom dia!

Estou com problema para fazer conexão firebird.
Já tenho o banco criado com suas devidas tabelas, porem não consigo fazer a conexão com o VS2008.
Alguém pode me ajudar?

Paulo Freire
|
MVP
    20 mai 2010

Segue um exemplo básico
baixe do site Firebird o providerhttp://www.firebirdsql.org/index.php?op=files&id=netprovider
using System;using System.Data;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Configuration;using FirebirdSql.Data.FirebirdClient;

namespace WebApplication1{    public partial class Default : System.Web.UI.Page    {
        string connString = @"User=SYSDBA;Password=masterkey;Database=C:\Dados\INFORMATICA.FDB;DataSource=192.168.0.249;Dialect=3;Charset=WIN1252;";

        protected void Page_Load(object sender, EventArgs e)        {            if (!Page.IsPostBack)            {                CarregaSuportesAberto();                CarregaDeptos();            }
        }
        #region "Carregamento dos Drops e Grids"        private void CarregaSuportesAberto()        {
                                   FbCommand cmd = new FbCommand("SELECT SUPORTE.ID, SUPORTE.NUM_PATR, SUPORTE.DEPARTAMENTO, SUPORTE.SOLICITANTE, SUPORTE.DATA_SUPORTE, SUPORTE.DESCRICAO, "+            "SUPORTE.SITUACAO, SUPORTE.SOLUCAO, SUPORTE.TECNICO, SUPORTE.DATA_SOLUCAO, SUPORTE.RELACIONADO, SUPORTE.TIPO, SUPORTE.VALOR, "+            "EQUIPAMENTOS.DESCRICAO, DEPARTAMENTOS.NOME_DEPARTAMENTO "+            "FROM SUPORTE "+            "LEFT JOIN DEPARTAMENTOS ON (SUPORTE.DEPARTAMENTO = DEPARTAMENTOS.ID) "+            "LEFT JOIN EQUIPAMENTOS ON (SUPORTE.NUM_PATR = EQUIPAMENTOS.NUM_PATR) "+            "WHERE (SUPORTE.SITUACAO <> 'FECHADO')" , new FbConnection(connString));
            cmd.Connection.Open();
            FbDataReader ddlValues;            ddlValues = cmd.ExecuteReader();
            GridSuportesAberto.DataSource = ddlValues;            GridSuportesAberto.DataBind();
            cmd.Connection.Close();                                   cmd.Connection.Dispose();
        }

        private void CarregaDeptos()        {
            FbCommand cmd = new FbCommand("SELECT * FROM DEPARTAMENTOS ORDER BY NOME_DEPARTAMENTO", new FbConnection(connString));            cmd.Connection.Open();
            FbDataReader ddlValues;            ddlValues = cmd.ExecuteReader();
            dpDeptos.DataSource = ddlValues;            dpDeptos.DataValueField = "ID";            dpDeptos.DataTextField = "NOME_DEPARTAMENTO";            dpDeptos.DataBind();
            cmd.Connection.Close();            cmd.Connection.Dispose();
        }        #endregion
        #region "Botão enviar Suporte"        protected void btEnviar_Click(object sender, EventArgs e)        {                        //Botão Enviar Suporte            FbCommand cmd = new FbCommand("INSERT INTO SUPORTE (NUM_PATR, DEPARTAMENTO, SOLICITANTE, DESCRICAO) " +             "VALUES (@NUM_PATR, @DEPARTAMENTO, @SOLICITANTE, @DESCRICAO)", new FbConnection(connString));            cmd.Connection.Open();            cmd.CommandType = CommandType.Text;            cmd.Parameters.Add("@NUM_PATR", FbDbType.Integer).Value = txtNumPatr.Text;            cmd.Parameters.Add("@DEPARTAMENTO", FbDbType.SmallInt).Value = dpDeptos.SelectedValue;            cmd.Parameters.Add("@SOLICITANTE", FbDbType.VarChar).Value = txtSolicitante.Text;            cmd.Parameters.Add("@DESCRICAO", FbDbType.VarChar).Value = txtDescricao.Text;            cmd.ExecuteNonQuery();                        cmd.Connection.Close();            cmd.Connection.Dispose();
            CarregaSuportesAberto();
        }        #endregion

    }

Geraldo Junio
   - 20 mai 2010

Muito obrigado!

Eduardo Aguiar
   - 28 mai 2010

  Li as informações deste tópico e achei muito boa, mas estou desenvolvendo uma aplicação que usará o Interbase como banco de dados. Creio que este provider para o Firebird não resolve meu problema, por isso pergunto a vocês se conhecem algum provider para o Interbase.
  Se conhecerem podem postar no tópico que eu criei http://www.devmedia.com.br/forum/net/377527-Provider-para-o-Interbase.html
  Obrigado.