Firebird and Visual C# 2005 .NET express edition

Junio 4, 2007

Este articulo trata de como conectar la base de datos Firebird en su versión embedded con un programa en Visual C# .NET, ten en cuenta que para este caso estamos usando la versión gratis (express edition) por lo tanto no tenemos acceso a el DDEX que provee Visual Studio .NET para la comunicación de bases de datos y por esta razón lo que podríamos hacer simplemente enlazando componentes (binding) nos toca escribirlo. Aunque es una buena forma, por el momento nos vamos a limitar a leer datos previamente guardados en la base de datos, posteriormente haremos algo de escribir datos.

Como supongo ya debes de tener alguna experiencia en C# (tengan en cuenta que yo no soy un experto, y estos artículos los escribo simplemente para mantener un backup de mis adelantos). Lo primero que debes de hacer es descarga la versión 2005 express e instalarla con las funciones por defecto.

De la misma forma hay que descargar la version Firebird. También descarga e instala el Firebird .NET Data Provider.

Pasos en la base de datos:

Conectarse a la base de datos usando FlameRobin o desde la consola.

Crear la table:

CREATE TABLE usuarios (
id INTEGER NOT NULL,
nombre VARCHAR(40),
PRIMARY KEY (id)
);

Agregar informacion a la base de datos:

INSERT INTO usuarios (id, nombre) VALUE (1,tu_nombre)
INSERT INTO usuarios (id, nombre) VALUE (2,otro_nombre)

  • En Visual C#, agregar una referencia a FirebirdClient – ADO.NET 2.0 Data Provider
  • Agregar en el codigo del formulario: using FirebirdSql.Data.FirebirdClient;
  • Agregar un DataGridView en el formulario y llamarlo data
  • Luego en el evento Form_Load agregar:
    • string connectionString =
      "User=SYSDBA;" +
      "Password=masterkey;" +
      "Database=E:\\Visual Studio 2005\\Projects\\FirebirdTests\\FirebirdTests\\bin\\Debug\\pruebas.fdb;" +
      "DataSource=localhost;" +
      "Port=3050;" +
      "Dialect=3;" +
      "Charset=NONE;" +
      "Role=;" +
      "Connection lifetime=15;" +
      "Pooling=true;" +
      "MinPoolSize=0;" +
      "MaxPoolSize=50;" +
      "Packet Size=8192;" +
      "ServerType=0";
      FbConnection conexion = new FbConnection(connectionString);
      try
      {
      // Open two connections.
      conexion.Open();
      DataTable dt = new DataTable();
      FbDataAdapter da = new FbDataAdapter("SELECT * FROM PERSONAS", conexion);
      da.Fill(dt);
      data.DataSource = dt;
      conexion.Close();}
      catch (Exception error)
      {
      MessageBox.Show(error.Message);
      }
      finally
      {
      conexion.Dispose();
      }

Descargar ejemplo aqui.

Eso es todo para leer los datos de Firebird, cualquier pregunta adelante, mas adelante nos veremos con algo de escribir e insertar datos a la base de datos.

Chao

Entry Filed under: Desarrollo software, Visual C#. .

12 Comments Add your own

  • 1. IT  |  Julio 16, 2007 at 6:46 am

    wa te

    Responder
  • 2. Daniel  |  Octubre 24, 2007 at 3:27 pm

    Hola, estoy trabajando en una solución en la que una BD portable, en la cual necesito poder hacer hacer llamadas a la base de datos desde distintas instancias de la aplicación.

    Antes de lanzarme, estoy haciendo unas pruebas accediendo al FDB desde un BackgroundWorker. En el DoWork(), quiero agregar y quitar un item a una tabla de manera cíclica, mientras realizo otrass consultas, esto a modo de prueba para chequear estabilidad. Al hechar a andar el worker, puedo realizar el insert y obtener mediante otra consulta los datos de el último item agregado. Luego, al intentar realizar una nueva consulta dentro del worker, estoy recibiendo el sgte error:

    No se controló System.Reflection.TargetInvocationException
    Message=”Exception has been thrown by the target of an invocation.”
    Source=”mscorlib”

    Estoy utilizando el Api version 2.0.1 del cliente de Firebird bajo VS2005.

    Alguien a recibido algo similar?

    Responder
  • 3. yesidh  |  Octubre 25, 2007 at 12:09 pm

    Hola Daniel, muchas gracias por tu comentario, desafortunadamente no te puedo ayudar, ya que aunque trabajo con Firebird no he llegado a tener este problema y no se como solucionarlo.

    Te recomiendo das una mirada a los foros o inscribirte en el lista de correo de Firebird, ya que allí puedes encontrar expertos.

    Saludos.

    Responder
  • 4. Ivan  |  Febrero 12, 2008 at 11:46 am

    funcionara esto con la version standard o superior de VS2005?

    gracias…

    Responder
  • 5. Yesid Hernandez  |  Febrero 13, 2008 at 8:46 pm

    Hola Ivan,

    Pues nunca he probado con esas versiones , pero supongo que funciona, ya que el Express es la mas basica.

    Chao

    Responder
  • 6. viviana velez salazar  |  Mayo 7, 2008 at 11:27 am

    ola, estoy trabajando en visual c# express 2005 y necesito saber que tipo de informes o reportes puedo trabajar? gracias

    Responder
  • 7. Yesid Hernandez  |  Mayo 7, 2008 at 11:38 am

    Hola Viviana,

    No se exactamente a que te refieres, desafortunadamente este pagina no es foro, mas bien un espacio donde publico algunas “cosillas” que voy haciendo. Intenta acceder a un foro y ser mucho mas especifica en tus preguntas,

    Saludos, desde Colombia.

    Responder
  • 8. Yohandri  |  Mayo 13, 2008 at 10:08 am

    Estoy trabajando con la libreria ibpp y con el visual studio 2003, y esto me da muchos errores, necesito que alguien me diga como trabajar bien con esta libreria en el visual studio, como incluirla, ya que cuando yo la incluyo en una unit no me da problemas, el problema es a la hora de yo incluir esa unit dentro de otra me da muchos linkers y me dice que hay multiples declaraciones….espero que alguien me pueda ayudar respondiendo mi inquietud….saludos

    Responder
  • 9. pablo  |  Junio 5, 2008 at 10:19 am

    Me gustaria saber en donde puede encontrar un odbs de firebird 2.0 y c# para poder manipular de la misma forma que se puede hacer con DELPHI
    gracias

    Responder
  • 10. yesidh  |  Junio 6, 2008 at 9:31 am

    Hola Pablo,

    Puedes usar directamente el conector para .Net que tiene Firebird y que este tutorial describe como utilizar.

    La tecnología ODBC es antigua y un poco mas complicada, con este componente en C# directamente accesas la base de datos.

    Saludos.

    Responder
  • 11. chinocco  |  Octubre 23, 2008 at 12:53 am

    saludos:
    olles estoy intentado aser tu ejemplo pero nomas no puedo, al flamerobin le estoy insertando datos, ya selecciono ke la base de datos es “firebird”(claro) y nomas no beo movimiento, el flameRobin no me marca erros pero no me muesttra nada

    me epodras ayudar

    Responder
  • 12. DARA  |  Septiembre 30, 2009 at 12:57 am

    Ahí te dejo una liga donde también hay información, ami me sirvió un buen.

    http://netfb.blogspot.com/

    Responder

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Nuevo dominio

Te invitamos a que nos visites en nuestro nuevo dominio:

http://www.cosasdemecatronica.com

Grupo en Facebook

Facebook

Categorias

Entradas recientes

Categoría Nube

Automatizacion Comunicaciones industriales Desarrollo software Mecatronica Neumatica Otros PLC Robotica Sensor IR Supervision Visual C# Web wxWidgets

Blogroll

Website

Feeds

Flickr Photos

p1030610

p1030602

p1030613

More Photos

Visitantes a la pagina

Entre nosotros

page counter

Blog Stats