C# ile Firebird Veritabanı Kullanımı

Firebird veritabanımızı kurduk, gördük, inceledik. Firebird’ün anlamayacağı bazı SQL komutları yazarak bir şeyler denedik. Kimse denemedik demesin 🙂  Artık C# ‘a geçerek oluşturduğumuz veritabanına bağlanabilir ve veri çekme işlemlerine geçebiliriz.

C# dan Firebird bağlantısı

Bağlantı yapmadan önce C#’a referans eklememiz gerekiyor. İster C# referances kısmına sağ tıklayarak Manage NuGet Package den Firebird in eklentisini kurabiliriz. istersek.  http://sourceforge.net/projects/firebird/files/firebird-net-provider/5.9.1.0/FirebirdSql.Data.FirebirdClient-5.9.1.0.msi/download adresinden DLL dosyasını indirerek C# dan referances kısmına sağ tıklayıpAdd Referances diyerek ekleyebiliriz.

Buraya kadar projemize bağlamak için firebirdü kurduk veritabanını oluşturduk içerisine veri ekledik ve C#’a DLL yi ekleyerek hazırlık yapmış olduk.Artık kod kısmına geçelim.

Eklediğimiz DLL yi projeyemizde kullanabilmemiz için Namespace kodumuzu yazalım.

using FirebirdSql.Data.FirebirdClient;

//veritabanı bağlantı cümlesi

 

public static FbConnection fbcnn;
Boolean fbConn()
{

//veritabanı bağlantı cümlesi
var connectionString = @"User ID=SYSDBA;Password=masterkey;Database=localhost:C:\yakup\veritabani.fdb;Charset=NONE;";
try
{

FbConnection fbcnn = new FbConnection(connectionString);//bağlan
fbcnn.Open();//bağlantıyı aç
if (fbcnn.State == ConnectionState.Open)//bağlantı açılmış mı
{
return true;
}
else
{
return false;
}
}
catch (Exception qe)
{
MessageBox.Show("Hata :"+qe);
return false;
}

 

Firebird de oluşturduğumuz veritabanını açtık artık içerisinden veri çekebilir veri ekleyebilir güncelleyebiliriz.

C# dan Veri Çekmek

C# projemizde tasarım kısmına bir listbox ekleyelim.


try
{
listBox1.Items.Clear(); //listbox içerisini boşalt

//Sql sorgumuz buraya istediğimiz şekilde sql komutlarını artık girebiliriz ister ekleme ister güncelleştirme komutlarınıda buraya girebiliriz. Bu artık size kalmış.

//Biz select yaparak çektiğimiz verileri de nasıl kullanacağımıza bakıyoruz.

string sql = "select * from tablo1";
FbCommand command = new FbCommand(sql, fbcnn);//komut
FbDataReader reader = command.ExecuteReader();//Reader yaparak Datareaderin içerisine aktar.
StringBuilder sb = new StringBuilder();
while (reader.Read())
{
for (var i = 0; i < reader.FieldCount; i++)
{
listBox1.Items.Add(reader[i].ToString());
}
}
}
catch (Exception ex)
{
MessageBox.Show("Hata :"+ex);
}

Basit bir örnek ile firebird ile olan ilişkimizi bitiriyoruz. Yaptığımız projede “select * from” mantığı yani sadece veri çekme işlemi olduğu için paylaşımı da burada  bırakıyorum.

 

Firebird kullanılır mı ?

Bu soru aslında yazılacak / yapılacak olan projenin büyüklüğü ve kapasitesi ile alakalı bir durum. Basit SQL işlemleri yapacaksanız ve verilerinizin çok da bir önemi yok ise ( her veri önemlidir fakat durumları göz önüne almak gerekir ) Firebird kullanılabilir. 25-30MB ‘lık  bir veritabanını çok rahatlıkla projelerinize entegre edebilirsiniz.

Örnek bir projeden bahsedelim :  Bir etiket yazıcısından kullanıcı adı şifre çıkartacağımız basit bir desktop projesi düşünelim. Bu projede etiketin yazdırma şablonu, printer ayarlarını ve kullanıcı vs. işlemlerini de database de tutmamız gerekiyorsa Firebird ile hızlıca entegre edebilir ve boyutu küçük bir uygulama elde edebilirsiniz. Büyük sistemler içinde Firebird kullanılabilir yeter ki sisteminizi doğru ve stabil bir şekilde organize edin. Yukarıdaki örnek tüm bilgileri database yerine .txt dosyasında da saklanabileceğini unutmamak gerekir 🙂

 

Teşekkürler Yakup Durmuş

Bir Cevap Yazın