我试图用这个代码用qt删除:
int jobId = 655;
query.prepare("DELETE FROM jobs WHERE jobId = '" + QString::number(jobId) + "'");
QString error = query.lastError().text();
if (query.exec())
qDebug() << "DELETE ok";
else
qDebug() << error;
Run Code Online (Sandbox Code Playgroud)
如果jobId存在都很好,但如果不退出也显示"DELETE ok".
我该如何检查这种情况?
非常感谢你
如果DELETE查询没有要删除的内容,则查询不会生成错误.
您可能能够找到是否删除了某些内容QSqlQuery::numRowsAffected.
但是如果你想在删除它之前知道id是否存在,你必须单独SELECT请求该id.
PS:您应该使用addBindValue或bindValue在查询字符串中插入值:
query.prepare("DELETE FROM jobs WHERE jobId = ?");
query.addBindValue(jobId);
Run Code Online (Sandbox Code Playgroud)