gpt4 book ai didi

c++ - 如何阻止 for 循环直到执行 sqlite 查询?

转载 作者:行者123 更新时间:2023-11-28 07:09:38 25 4
gpt4 key购买 nike

我正在用 Qt 编写程序,下面是我的代码的一部分:

for(int row=0; row < 15; row++)
{
for(int column=0; column < 12; column++ )
{
if(query->exec(db->getInsertQuery(row,column)))
{

}else
qDebug() << "Failed to insert cell";
}
}

当我运行这个程序时,它进入“无响应”状态。当我运行时

    query->exec(db->getInsertQuery(0,0));
query->exec(db->getInsertQuery(0,1));
....

代替 for 循环程序运行正常,但我不能在我的程序中写这么多行。您能否建议我阻止 for 循环直到执行查询的方法以及如何在某些框中显示进度条直到 for 循环完成?

最佳答案

如果您正在使用 QtSql,我假设您应该使用 execBatch() 方法来完成此类任务

Example

QSqlQuery q;
q.prepare("insert into myTable values (?, ?)");

QVariantList ints;
ints << 1 << 2 << 3 << 4;
q.addBindValue(ints);

QVariantList names;
names << "Harald" << "Boris" << "Trond" << QVariant(QVariant::String);
q.addBindValue(names);

if (!q.execBatch())
qDebug() << q.lastError();

关于c++ - 如何阻止 for 循环直到执行 sqlite 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21216863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com