Ömer Ücel

April 28, 2008

C++ ve SQLite

Filed under: Genel — Tags: , — Ömer Ücel @ 7:36 pm

Uzun uğraşlardan sonra c++ ile sqlite veritabanı dosyası üzerinde işlem yapmayı başarabildim. Bu konuda şu adresdeki sql2class sınıfının epey faydası oldu. Aslında öncede bu sınıfa rast gelmiştim ama kullanmayı becerememiştim.

Aşağıda kullanımına dair ufak bir örnek var. Sitede de epey örnek verilmiş zaten. Aşağıdaki örneği ayrıca buradan indirebilirsiniz. İçerisinde sql2class dosyalarıda mevcut. Derlemek için konsolda make komutunu vermeniz yeterli.

 
#include <iostream>
#include <sqlite3 .h>
 
#include "sql2class/Database.h"
#include "sql2class/Query.h"
 
int main(int argc, char *argv[])
{
    Database db("test_sql2class.db");
 
    Query q(db);
 
    // Tablo var mı kontrol et.
    long toplam = q.get_count("SELECT count(name) FROM sqlite_master WHERE type='table' and name='isim_listesi' ORDER BY name;");
    if (toplam==0){
        // Tabloyu oluştur.
        q.execute("create table isim_listesi(id int primary key,isim varchar(50))");
 
        // İlk kayıtları ekle
        q.execute("insert into isim_listesi(isim) values('Ömer')");
        q.execute("insert into isim_listesi(isim) values('Ahmet')");
        q.execute("insert into isim_listesi(isim) values('Ali')");
        q.execute("insert into isim_listesi(isim) values('Veli')");
    }
 
    // Kayıtları yazdır.
    std::cout < < "isimler" << std::endl;
    q.get_result("select isim from isim_listesi order by isim asc");
    while (q.fetch_row())
    {
        std::cout << q.getstr() << std::endl;
    }
 
    q.free_result();
 
    return 0;
}
 

2 Comments »

  1. Yoksa Python’ı bırakıp kendini C/C++ deryasına mı kaptırıyorsun. Yerinde olsam bu hataya düşmezdim. Python gibi dinamik, güçlü ve keyifli kullanımı olan başka bir dil var mı ki?

    Tamam itiraf ediyorum, yeri geldiğinden senin wxpython tecrübelerinden de yararlanmak istediğim için Python’ı bırakmanı istemiyorum :)

    Comment by Tutku Dalmaz — April 28, 2008 @ 10:19 pm

  2. Öhöm, şey, açıklamak gerekirse.. :)

    Okulda bu yıl c++ dersini aldık/alıyoruz. Biraz üzerine eğildim bu aralar. Her ne kadar eğilsemde açıkçası zorlanmıyor değilim. Bazı şeyleri anlamak güç.

    Unutmak Yok adlı bir programcık vardı. Onu c++ ile geliştirmeye çalışıyorum. Bu sırada “Yahu ne kadar kolay bir şeymiş Python’u kullanmak” dedim hep.

    Python ile grafiksel programlar yazmak çok basitmiş. C++ ile epey zorlandım. Qt, wx, gtk, gtkmm. Hepsini denedim c++ da. En uygunu gtkmm gibi geldi bana.

    Python içinse hepsi uygun. Modül olarak kuruyorsun, kullanıyorsun. Hepsi bu kadar. Mesela bu sqlite için uğraştığım sırada harcadığım zamanı Python ile harcasam programın yeni sürümü çıkmıştı bile.

    Bıraktım diyemem. Hepsiyle uğraşmak zor oluyor, insanın kafası karışıyor :)

    Comment by Ömer Ücel — April 28, 2008 @ 10:32 pm

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress