【发布时间】:2012-05-27 14:01:40
【问题描述】:
问题是当我执行 sql 插入查询时(我使用的是 Qt Creator 和 sqlite),数据库中添加了两个新行而不是一个。
这里是代码块
void MainWindow::on_insertButton_clicked(){
db.open();
QString name = ui->nameLineEdit->text();
QString queryString = "INSERT INTO highscores (name, score) VALUES '%1',%2";
QSqlQuery query(queryString.arg(name).arg(score));
query.exec();
}
此代码应该只将值名称和分数插入数据库一次,但在查询 exec 之后插入两个相同的行。
谁知道问题出在哪里?
【问题讨论】:
-
显然,问题在于您调用了两次代码(第二种可能性是您有一个插入两行的插入触发器可能非常非常遥远)。我建议您将调试语句放入 C++ 代码中或使用调试器来跟踪正在发生的事情。
-
你是说如果你点击按钮两次,就会插入两行,你不想这样吗?
-
我只想在点击 QPushButton 时在 db 中插入数据。我不是点击两次,只是点击一下,插入了两行。