QT--QT下使用数据库(Mysql & Sqlite3)

来源:互联网 发布:剑网三更新网络中断 编辑:程序博客网 时间:2024/06/13 10:20


一,本地需要已经按照了对应的数据库

本操作是在windows下执行的

二,QT操作Sqlite

创建QT项目时候,选择QT控制台程序

#include <QCoreApplication>#include <QSqlDatabase>#include <QDebug>#include <QSqlQuery>int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    //创建一个连接    QSqlDatabase db= QSqlDatabase::addDatabase("QSQLITE");     db.setDatabaseName("memory.db");//创建一个数据库    //打开数据库,成功返回true  失败返回false    if(!db.open()) {        qDebug()<<"Open is failed!";        return false;    }    QSqlQuery query;  //用于数据库的操作类    query.exec("create table student(id int primary key not null,\               name text)");    query.exec("insert into student values(1,'kenny')");    query.exec("insert into student values(2,'catma')");    query.exec("insert into student values(3,'stany')");    query.exec("select * from student");    while(query.next())   //query.next() 会将查询到的值一个一个的后移 类似于链表    {        int value0=query.value(0).toInt();   //用QT的qDebug模式将值打印出来        QString value1=query.value(1).toString();        qDebug()<< value0 << value1;    }    return a.exec();}

三,QT操作Mysql


#include <QCoreApplication>#include <QSqlDatabase>#include <QDebug>#include <QSqlQuery>int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");    if(db.isValid()==false)    {        qDebug()<< "Connect is failed";    }    db.setHostName("localhost");  //操作与sqlite差不多,但是要选择连接的数据库    db.setDatabaseName("mydata");    db.setUserName("root");    db.setPassword("");    if(db.open()==false)    {        qDebug()<< "Open failed";        return false;    }    QSqlQuery query(db);    query.exec("create table stu(id primary key not null,\               name text not null)");    query.exec("insert into stu values(1,'kenny')");    query.exec("insert into stu values(2,'catman')");    query.exec("insert into stu values(3,'standy')");    query.exec("select * from stu");    while(query.next())    {        qDebug()<< query.value(0).toInt();        qDebug()<< query.value(1).toString();    }    return a.exec();}

 注意:QT操作MySQL时候,需要将MySQL安装目录中lib/ 的libmysql.dll  复制到QT安装路径的Qt5.3.2\5.3\mingw482_32\bin下

 举例:复制C:\MySQL\lib\libmysql.dll    到    D:\application\Qt5.3.2\5.3\mingw482_32\bin

原创粉丝点击