Hi,
I'm writing an application that should connect to a database. First, I've tried to use mySQL database but I had this error.

Démarrage de C:\Users\HP\Desktop\lastClient\callTracker-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug\debug\callTracker.exe... QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE

So, now I'm trying with SQlite. I dowloaded the SQlite prebuild binaries and successfully created my database. But now, I don't know where to put the file calltracker.sqlite. And when I launch my application, there should be an error dialog box if application can not connect to the database. But whatever the server name I
give, the connection seems to successful, but the application doesn't find any data in the database. I've made a lot of research on the net, and I'm a bit confused.
So my questions are :

-Does QtSDK already contain a SQLite database?
-If so how can I access it?
-Or is my code wrong? What should I change?


main.cpp
Qt Code:
  1. #include <QApplication>
  2. #include "FenetreAccueil.h"
  3.  
  4. int main(int argc,char* argv[]){
  5. QApplication app(argc, argv);
  6. FenetreAccueil login;
  7. login.show();
  8. return app.exec();
  9. }
To copy to clipboard, switch view to plain text mode 

FenetreAccueil.h

Qt Code:
  1. #ifndef FENETREACCUEIL_H
  2. #define FENETREACCUEIL_H
  3.  
  4. #include <QtGui>
  5. #include <QtSql>
  6. #include "FenetrePrincipale.h"
  7.  
  8.  
  9. class FenetreAccueil : public QWidget
  10. {
  11. Q_OBJECT
  12.  
  13. public:
  14. explicit FenetreAccueil(QWidget *parent = 0);
  15.  
  16. public slots:
  17. void connectDB();
  18.  
  19. private:
  20. QPushButton *m_connect;
  21. QPushButton *m_cancel;
  22. QLineEdit *m_password;
  23. QLineEdit *m_login;
  24. QLineEdit *m_addressBD;
  25. QLabel *m_label;
  26.  
  27. };
  28.  
  29. #endif // FENETREACCUEIL_H
To copy to clipboard, switch view to plain text mode 

FenetreAccueil.cpp
Qt Code:
  1. #include "FenetreAccueil.h"
  2.  
  3. FenetreAccueil::FenetreAccueil(QWidget *parent) :
  4. QWidget(parent)
  5. {
  6. //Creation du layout de formulaire et ses widgets
  7. m_login=new QLineEdit;
  8. m_password=new QLineEdit;
  9. m_password->setEchoMode(QLineEdit::Password);//affichage d'asterisques a la saisie
  10. m_addressBD=new QLineEdit;//format adresse IP ou pas?
  11.  
  12. QFormLayout *formAccueil=new QFormLayout;
  13. formAccueil->addRow(tr("&Login"),m_login);
  14. formAccueil->addRow(tr("Password"),m_password);
  15. formAccueil->addRow(tr("mySQL server address"),m_addressBD);
  16.  
  17. //Creation d'un layout horizontal pour les boutons
  18. m_connect=new QPushButton(tr("Connect"));
  19. m_cancel=new QPushButton(tr("Cancel"));
  20.  
  21. QHBoxLayout *boutonLayout=new QHBoxLayout;
  22. boutonLayout->addWidget(m_connect);
  23. boutonLayout->addWidget(m_cancel);
  24.  
  25.  
  26. //Creation d'un layout pour le logo
  27. QLabel *logo=new QLabel(this);
  28. logo->setPixmap(QPixmap("images/grandlogo.png"));
  29.  
  30. QHBoxLayout *logoLayout=new QHBoxLayout;
  31. logoLayout->addWidget(logo);
  32.  
  33.  
  34. //Creation d'un layout pour le message d'acceuil
  35. m_label = new QLabel(tr("Welcome in callTracker"),this);
  36.  
  37. QHBoxLayout *labelLayout=new QHBoxLayout;
  38. labelLayout->addWidget(m_label);
  39.  
  40. //Creation du layout principal de la fenetre
  41. QVBoxLayout *layoutPrincipal=new QVBoxLayout;
  42.  
  43. //Ajout du layout d'accueil
  44. layoutPrincipal->addLayout(labelLayout);
  45.  
  46. //Ajout du layout de formulaire
  47. layoutPrincipal->addLayout(formAccueil);
  48.  
  49. //Ajout du layout des boutons
  50. layoutPrincipal->addLayout(boutonLayout);
  51.  
  52. setLayout(layoutPrincipal);
  53. setWindowTitle(tr("Welcome"));
  54. setWindowFlags(Qt::Tool);//Pour empecher le changement de dimensions de la fenetre
  55. resize(300,350);
  56.  
  57. //Generation des signaux et des slots
  58. connect(m_connect,SIGNAL(clicked()),this,SLOT(connectDB()));
  59. connect(m_cancel,SIGNAL(clicked()),qApp, SLOT(quit()));
  60. }
  61.  
  62. void FenetreAccueil::connectDB()
  63. {
  64. QString server;
  65. server=m_addressBD->text();
  66.  
  67. QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
  68. db.setHostName(server);
  69. db.setDatabaseName("calltracker");
  70. db.setUserName("appClient");
  71. db.setPassword("Clown2neige");
  72. bool ok=db.open();
  73.  
  74. if(ok)
  75. {
  76. FenetrePrincipale *fenP=new FenetrePrincipale;
  77. fenP->show();
  78. }
  79. else
  80. QMessageBox::critical(this,"callTracker",tr("Connection to database failed"));
  81.  
  82. }
To copy to clipboard, switch view to plain text mode 


Thanks