QT开发中文网

在qt框架下使用c++编写sqlite数据库多字段查询的功能

下面是一个简单的示例,用于在Qt中使用C++实现SQLite数据库多字段查询:

  1. 首先,需要包含SQLite头文件和Qt SQL库头文件:
#include <sqlite3.h>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
  1. 创建SQLite数据库连接并打开数据库:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("mydatabase.db");

if (!db.open()) {
    qDebug() << "Failed to open database.";
    return;
}
  1. 创建查询语句并执行:
QString queryStr = "SELECT * FROM mytable WHERE name=? AND age=?";
QSqlQuery query(db);
query.prepare(queryStr);
query.bindValue(0, "John");
query.bindValue(1, 25);

if (!query.exec()) {
    qDebug() << "Failed to execute query.";
    return;
}
  1. 处理查询结果:
while (query.next()) {
    QString name = query.value(0).toString();
    int age = query.value(1).toInt();

    qDebug() << "Name:" << name << "Age:" << age;
}

完整的示例代码如下:

#include <sqlite3.h>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>

int main(int argc, char *argv[]) {
    // Create SQLite database connection
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("mydatabase.db");

    if (!db.open()) {
        qDebug() << "Failed to open database.";
        return 1;
    }

    // Create query and execute
    QString queryStr = "SELECT * FROM mytable WHERE name=? AND age=?";
    QSqlQuery query(db);
    query.prepare(queryStr);
    query.bindValue(0, "John");
    query.bindValue(1, 25);

    if (!query.exec()) {
        qDebug() << "Failed to execute query.";
        return 1;
    }

    // Process query result
    while (query.next()) {
        QString name = query.value(0).toString();
        int age = query.value(1).toInt();

        qDebug() << "Name:" << name << "Age:" << age;
    }

    // Close database connection
    db.close();

    return 0;
}

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=1140

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?