C QT中的SQL数据库更新未前进到下一个ID

SQL Database Update in C++ QT Not Advancing to Next ID

本文关键字:下一个 ID 更新 QT 中的 SQL 数据库      更新时间:2023-10-16
QSqlQuery query(db);
for (int i = 0; i < graph.GetTotalV(); i++) {
    query.prepare("UPDATE stadiums SET teamName=:name, stadiumName=:stad, capacity=:cap, "
                  "location=:loc, conference=:con, surfaceType=:sur, roofType=:roof, starName=:star WHERE stadiumID = :id");
    query.bindValue(":name", "name");
    query.bindValue(":stad", "stad");
    query.bindValue(":cap", 123);
    query.bindValue(":loc", "loc");
    query.bindValue(":con", "con");
    query.bindValue(":sur", "sur");
    query.bindValue(":roof", "roof");
    query.bindValue(":star", "star");
    query.bindValue(":id", i);
    query.exec();
}

这是我的代码,它涉及一个循环,以将数据库中的所有值更新为目前这些新值。但是,当我运行代码时,仅更新与StadiumId = 0对齐的值。当我手动将最后一行更改为" stadiumid = 1"时,它无能为力,好像没有其他行超出索引0。

谢谢。

我不认为..,但是尝试删除空格。stadiumid =:ID到stadiumid =:id

好吧,我发现了。在SQLite中,我忘了取消选中"使团队名称和明星球员价值观"的"使其独特"。这就是为什么当我尝试插入相同值时,它只是简单地忽略了它们。