Qt连接mysql并操作数据库(最清晰)
方法:
一:
首先在.pro文件中增加:
QT += sql
二:
在项目中创建一个*.h文件,这里我的文件名为:sql_connect.h。
sql_connect.h中代码如下:
#ifndef SQL_CONNECT_H
#define SQL_CONNECT_H
#include <QMessageBox>
#include <QtSql/QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlError>
static bool creatConnect()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setPort(3306);
db.setDatabaseName("book_admin");
db.setUserName("root");
db.setPassword("");
bool ok = db.open();//建立数据库连接
if(!ok)
{
QMessageBox::critical(0,QObject::tr("连接数据库失败!!!"),db.lastError().text());
return false;
}
else
{
QMessageBox::information(0,QObject::tr("Tips"),QObject::tr("连接数据库成功!!!"));
return true;
}
}
#endif // SQL_CONNECT_H
三:这时已经连接成功了,测试如下
在mian.cpp中写入测试代码,这里我用的select语句
代码如下:
#include "widget.h"
#include <QApplication>
#include "sql_connect.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
if(!creatConnect())
{
return 1;
}
QSqlQuery query;
QString sql = "select * from users;";
qDebug() << sql;
query.exec(sql);
while(query.next())
{
qDebug()<<query.value(0).toString()<<query.value(1).toString();
}
return a.exec();
}