Qt5连接Mysql5.7例子

: MysqlQt数据库

C++Qt框架(30) Qt5连接Mysql5.7例子_QT

[cpp] view plain copy Qt5连接Mysql5.7例子_QT_02Qt5连接Mysql5.7例子_QT_03

  1. <pre name="code" class="cpp">#include "mainwindow.h"  

  2. #include "ui_mainwindow.h"  

  3. #include<QSqlDatabase>  

  4. #include<QDebug>  

  5. MainWindow::MainWindow(QWidget *parent) :  

  6.     QMainWindow(parent),  

  7.     ui(new Ui::MainWindow)  

  8. {  

  9. ui->setupUi(this);  

  10. //|QSqlDataBase这个类的static函数 默认addDataBase的连接名是defaultConnectionName  

  11. //|最好是在后面第二个参数代入connectionname用于以后取出  这里没必要 担心作用域的问题因为是static函数在当前线程都有效  

  12. //|QSqlDataBase::contains(connecionname)查看 这个连接名是否存在  

  13. //|QSqlDataBase::database(connectionName)取出连接 (QSqlDataBase对象)  

  14. //|取出后 使用QSqlQuery最好是指定 dbname  

  15. /*************** 

  16. 如下 : 

  17. QSqlDatabase db; 

  18. if(QSqlDataBase::contains("myconn")==true) 

  19. { 

  20.    db=QSqlDatabase::database("myconn"); 

  21. }else{ 

  22.    db=QSqlDatabase::addDataBase("QMYSQL","myconn"); 

  23. } 

  24. **************************/  

  25.    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");  

  26.     db.setHostName("127.0.0.1");  

  27.     db.setPort(3306);  

  28.     db.setDatabaseName("hanhanchat");  

  29.     db.setUserName("root");  

  30.     db.setPassword("root");  

  31.     if(db.open())  

  32.     {  

  33.         qDebug()<<"success!";  

  34.     }else{  

  35.         qDebug()<<"failure";  

  36.     }  

  37. }  

  38.   

  39. MainWindow::~MainWindow()  

  40. {  

  41.     delete ui;  

  42. }  

  43. //|下面是支持的驱动名称  

  44. QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7  

  45. 需要注意的是 这里需要 编译Mysql驱动  这里我直接在 Mysql7里面 提取的.dll驱动 放在编译出来的 .exe同一级目录即可