Skip to main content

Connecting to Firebird using C# express 2008

It's quite easy creating a simple information system with Firebird and C# express 2008.
You will need the following to do this:
1. Firebird RDBMS (The latest release as of this post is 2.1.3)
2. EMS IBManager Lite (The freeware version. There are other Free Firebird IDE that you can use but for me, this one is the most user-friendly)
3. Microsoft C# Express 2008 (This can be downloaded at the Microsoft Website)
4. Firebird .Net Provider

Creating the database:
1. Create a database in EMS IBManager Lite






















We'll create a table for recording our Gold IRA Deposits. An IRA is a retirement account that can be used by an employed person. It can be in various form. One of which is an IRA Gold in which instead of money being deposited, you deposit gold. It can be a gold coin. Preferably, it would be good to deposit high value items such as a 401k Gold.



Use the following for the fields.





Be sure to edit the ID field to have an autoincrement value.

















Let's add a record with the following values:
ACCOUNT_ID: 1111-1111-1111
DATE_DEPOSITED: 8/31/2010
DESCRIPTION: Gold 401K


*******************************************************
Now for our C# application, open C# Express 2008 and create a new Windows Forms Application.
Drag a DataGridView to the form.
Add a reference for the project to c:\Program Files\FirebirdClient\FirebirdSql.Data.FirebirdClient.dll
Double-click the form and add using FirebirdSql.Data.FirebirdClient;
Declare an FbConnection before the constructor. FbConnection cn;
On the constructor, add the following code right after InitializeComponent();

            cn = new FbConnection(@"User=SYSDBA;Password=masterkey;Database=C:\PROGRAM FILES\EMS\SQL MANAGER LITE FOR INTERBASE & FIREBIRD\MYDATABASE.gdb;DataSource=localhost; Port=3050;Dialect=3; Charset=NONE;Role=;Connection lifetime=15;Pooling=true; MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;");
            cn.Open();


the C:\PROGRAM FILES\EMS\SQL MANAGER LITE FOR INTERBASE & FIREBIRD\MYDATABASE.gdb should be replaced with your corresponding database.




On the Form_Load method, add the following:

            FbDataAdapter da = new FbDataAdapter("select * from GOLD_IRA", cn);
            DataTable dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;



Press F5 and you should see the following:


Your code should look like this:



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FirebirdSql.Data.FirebirdClient;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        FbConnection cn;


        public Form1()
        {
            InitializeComponent();
            cn = new FbConnection(@"User=SYSDBA;Password=masterkey;Database=C:\PROGRAM FILES\EMS\SQL MANAGER LITE FOR INTERBASE & FIREBIRD\MYDATABASE.gdb;DataSource=localhost; Port=3050;Dialect=3; Charset=NONE;Role=;Connection lifetime=15;Pooling=true; MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;");
            cn.Open();
        }


        private void Form1_Load(object sender, EventArgs e)
        {
            FbDataAdapter da = new FbDataAdapter("select * from GOLD_IRA", cn);
            DataTable dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;
        }
    }
}

Comments

Popular posts from this blog

Adding a Footer to the DataGridView component

I have been searching for sites and forums that would give me a any hint on having a footer on the .net DataGridView control. It was frustrating. I found some, but not what I was looking for. I use windows forms. It would have been easier if I was into web. I decided to create one for myself. It's not complete, but it works with me. It needs improvement and I hope that some programmers who might pass through this blog will help me with it :D. Limitations: Cannot set Footer values during design time. Can sometimes hide a row when scrolled to the last item in the grid. What I did was just create a user control that inherits the DataGridView control and add a StatusStrip to act as the footer. public partial class MyDataGridView : DataGridView { public StatusStrip Footer { get { return (StatusStrip)this.Controls["Footer"]; } } private bool _footerVisible; [Browsable(false)] /// /// Sets or Gets the va...

Using Crystal Reports 10 with C#.net and Firebird

C# express doesn't include a report designer or viewer. Reports however, is very much needed when creating a business software. Since C# express doesn't include a report designer, we need to find other means. One is to use a free report such as MyNeoReport. This however may not work under many circumstances. The other alternative would be to use a proven report engine and designer-Crystal Report. Crystal Report has been used by many developers (in our city). However, using a free programming language and IDE, and a free database is very limiting. Not much information can be gathered on the net either (with regards to reporting as of this writing). Here's a way to use Crystal Reports using Firebird database and C# Express as software development IDE: Pre-requisites: C# Express 2005 EMS SQL Manager 2005 for InterBase & Firebird Lite Crystal Reports 10 Create the following database: Name: TestDB1 Tables: TESTTABLE1 Columns:  ID - PK, INTEGER,AUTOINCREMENT DES...

Open a Lenovo 3000 G410 Battery

One of the common problems with laptops is the deteriorating performance of its battery. Laptop batteries are made up of Lithium Ion (Li-ion). I have a laptop that is more than a year old. Last week, its battery went totally dead. I'm still looking for a replacement. I'm very careful in finding one because most cheap alternatives are poor in performance (with only 45 mins up time compared to the original 3-4 hours). Some are overly priced. I now have a prospect seller and will be purchasing after this post. Well, to continue, out of my curiosity, I opened the battery. The laptop is a Lenovo 3000 G410. Before my exploration, I took the specifications of the battery. It turned out that it's manufactured by SANYO. Here are the specifications: Battery name: PABAS024 Unique ID: 3658QSANYO PABAS024 Chemistry: LION I really don't have any knowledge about the hardware. All I know is that it can be charged and discharged. Despite my limited knowledge, I still opened it up ...