QT - MySQL Bağlantısı


Bir kaç gündür QT platformu üzerinde uygulama geliştirmeye çalışıyorum. Bu süre zarfında edindiğim tecrübelerden bazılarını aktarmak istiyorum.


Console Application'da Basit Bir MySQL Bağlantısı

(4.7.4 sürümünü kullanıyorum, Windows üzerinde çalışıyorum)

QT Creator'ü çalıştırıp New File or Project>>Other Project >> Qt Console Application adımlarını izleyip next, next.. biçiminde projeyi açıyoruz.
Veritabanı bağlantısı gibi işlemleri gerçekleştirebilmemiz için Project menüsündeki projeismi.pro dosyasına 

QT += sql

komutunu yazıyoruz.

Daha sonra main.cpp dosyasını açıp bağlantı için gerekli kodları yazıyoruz:












  1. #include <QtCore/QCoreApplication>
  2. #include <QDebug>
  3. #include <QtSql/QSqlDatabase>
  4. #include <QtSql>
  5. int main(int argc, char *argv[])
  6. {
  7. QCoreApplication a(argc, argv);
  8. QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  9. db.setHostName("127.0.0.1"); //yerel sunucuya bağlandığımızdan hostname kısmına 127.0.0.1 ya da localhost yazdık.
  10. db.setDatabaseName("test"); //veritabanı adı
  11. db.setUserName("root"); //kullanıcı adı
  12. db.setPassword("*****"); //kullanıcı şifresi
  13. qDebug()<<QSqlDatabase::drivers();
  14. if(db.open()==1) //Bağlantı başarılıyla mesaj ver.
  15. qDebug()<< "Baglandi";
  16. else
  17. //Hata mesajı ver.
  18. qDebug()<< "Hata :" << db.lastError().text();
  19. return a.exec();
  20. }

"mysql.h" Dosyası Bulunamadı Hatası

Bu hatanın çözümü için bilgisayarınızda MySQL yüklü ise C:\Program Files\MySQL\MySQL Connector C 6.0.2\include konumundaki header dosyalarını QT klasörlerinin bulunduğu dizinde include\QtSql içerisine kopyalamanız sorunu çözecektir. "QMYSQL" Driver Yüklenmedi Hatası

Bu uygulamayı yaparken beni en çok uğraştıran kısım burası oldu. QT konusunda Türkçe kaynak sıkıntısı, platformdaki acemilik, problemin kütüphanelerden mi, Mysql'den mi ya da işletim sisteminden mi kaynakladığını bilemediğimden sorunu çözmek 2-3 saatimi aldı ama aldığım sonuç neden bu işi kendime meslek edinmek istediğimi bana bir kez daha hatırlattı.
http://adf.ly/1PDfOQ adresinden libmysql.dll dosyasını indirip C:\QtSDK\Desktop\Qt\4.8.1\msvc2008\bin (ya da sizde her nasılsa) içerisine kopyalayın. Halen sorunun kaynağını tam olarak anlayabilmiş değilim ancak bu şekilde sorunu giderdim, umarım sizin de işinize yarar.

0 Response to "QT - MySQL Bağlantısı"

Yorum Gönder