我试着用下面的代码用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;如果jobId存在,则一切正常,但如果不存在,则显示"DELETE ok“。
我怎样才能检查这种情况?
非常感谢你
发布于 2012-03-21 19:35:14
如果DELETE查询没有要删除的内容,则它不会生成错误。
如果使用QSqlQuery::numRowsAffected删除了某些内容,您可能会发现。
但是,如果您想在删除之前知道该id是否存在,则必须对该id执行单独的SELECT请求。
PS:您应该使用addBindValue或bindValue在查询字符串中插入值:
query.prepare("DELETE FROM jobs WHERE jobId = ?");
query.addBindValue(jobId);https://stackoverflow.com/questions/9803572
复制相似问题