用qt写一个程序连接sqlite3数据库,数据地址:127.0.0.1;端口:3306;数据库名:loclDatabase.db;账号:root;密码root;并查询该数据库中表t_OperateRecord的operatedate字段信息保存到数组
时间: 2023-06-12 19:06:25 浏览: 114
在Qt中连接SQLite3数据库需要使用Qt自带的Sqlite驱动,首先需要确保Qt已经安装Sqlite驱动,可以在.pro文件中添加以下代码:
```
QT += sql
```
在代码中连接SQLite3数据库,可以参考以下示例:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 连接SQLite3数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setHostName("127.0.0.1");
db.setPort(3306);
db.setDatabaseName("loclDatabase.db");
db.setUserName("root");
db.setPassword("root");
if (!db.open()) {
qDebug() << "Error: Connection failed." << db.lastError();
return -1;
} else {
qDebug() << "Connection succeeded.";
}
// 查询t_OperateRecord表的operatedate字段信息
QSqlQuery query;
query.exec("SELECT operatedate FROM t_OperateRecord");
QStringList operateDateList;
while (query.next()) {
QString operateDate = query.value(0).toString();
operateDateList.append(operateDate);
}
qDebug() << "operateDateList:" << operateDateList;
return a.exec();
}
```
以上示例中,首先使用addDatabase方法添加Sqlite驱动,然后设置连接参数,最后调用open方法打开数据库连接。如果连接失败,可以通过lastError方法获取错误信息。
接下来,使用QSqlQuery执行SQL语句,获取查询结果,并将operatedate字段信息保存到字符串列表中。
最后,输出保存的operatedate字段信息。
需要注意的是,SQLite3的默认端口是3306,这个端口是MySQL的默认端口。如果需要连接MySQL数据库,需要使用QMYSQL驱动,并将端口设置为3306。
阅读全文