QT开发中文网

Qt C++ SQLite 获取CREATE TABLE testTa ( csvPath TEXT PRIMARY KEY, xs TEXT, ys TEXT, idex TEXT, taIndex TEXT, zeroPoint TEXT, minPoint TEXT, maxPoint TEXT, pointType TEXT, calType TEXT, typePoint TEXT );表中100条所有数据 封装接口 并将所...

在Qt C++中,你可以使用SQLite数据库来获取表中的数据,并将其封装为接口进行处理。以下是一个示例代码,展示如何从SQLite数据库中读取并封装所有100条数据:

首先,确保已经在Qt项目中添加了SQLite支持(通过在.pro文件中添加QT += sql)。

#include <QCoreApplication>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlRecord>

// 定义一个结构体来存储每行数据
struct TestData {
    QString csvPath;
    QString xs;
    QString ys;
    QString idex;
    QString taIndex;
    QString zeroPoint;
    QString minPoint;
    QString maxPoint;
    QString pointType;
    QString calType;
    QString typePoint;
};

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // 连接到SQLite数据库
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("your_database_name.db");
    
	// 打开数据库连接
	if (!db.open()) {
        qDebug() << "Failed to open database!";
        return -1;
	}

	// 准备查询语句
	QString queryStr = "SELECT * FROM testTa LIMIT 100";

	// 执行查询语句
	QSqlQuery query(queryStr);
	
	// 创建一个列表用于存储所有数据对象
	QList<TestData> dataList;

	// 循环遍历结果集,将数据封装为对象并存入列表
	while (query.next()) {
	    TestData data;

	    data.csvPath = query.value("csvPath").toString();
	    data.xs = query.value("xs").toString();
	    data.ys = query.value("ys").toString();
	    data.idex = query.value("idex").toString();
	    data.taIndex = query.value("taIndex").toString();
	    data.zeroPoint = query.value("zeroPoint").toString();
	    data.minPoint = query.value("minPoint").toString();
	    data.maxPoint = query.value("maxPoint").toString();
	    data.pointType = query.value("pointType").toString();
	    data.calType = query.value("calType").toString();
	    data.typePoint = query.value("typePoint ").toString();

        // 将数据对象存入列表
        dataList.append(data);
	}

    db.close();  // 关闭数据库连接

    // 输出所有数据
    foreach (const TestData& data, dataList) {
        qDebug() << "csvPath: " << data.csvPath;
        qDebug() << "xs: " << data.xs;
        qDebug() << "ys: " << data.ys;
        // ...
    }

    return a.exec();
}

请将your_database_name.db替换为你实际的SQLite数据库文件名。在循环中,我们从每行记录中提取出相应的字段值,并将其封装到TestData结构体对象中进行进一步处理。然后,我们将所有数据对象存入一个列表中。

最后,在foreach循环中,我们遍历列表并输出所有数据。

你可以根据需要修改代码和数据结构,以适应你的具体情况。


内容由零声教学AI助手提供,问题来源于学员提问

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?