QSqlQuery query; QString numberValue = ui->dellineEdit->text(); // 要删除的 number 字段值 query.prepare("DELETE FROM classinfo WHERE number = :value"); query.bindValue(":value", numberValue); if (!query.exec()) { QMessageBox::warning(this,"删除提示","删除失败"); } else { QMessageBox::information(this,"删除提示","删除成功"); } 这段代码怎么改成:若删除了数据库中不存在的数据,则提示”该数据不存在,删除失败“?
时间: 2024-04-13 10:29:29 浏览: 87
qt-sql.rar_Linux/Unix编程_QT_
你可以通过检查受影响的行数来确定是否成功删除了数据。如果受影响的行数为0,则说明数据库中不存在要删除的数据。你可以根据这个条件显示相应的提示信息。下面是修改后的代码:
```cpp
QSqlQuery query;
QString numberValue = ui->dellineEdit->text(); // 要删除的 number 字段值
query.prepare("DELETE FROM classinfo WHERE number = :value");
query.bindValue(":value", numberValue);
if (!query.exec()) {
QMessageBox::warning(this, "删除提示", "删除失败");
}
else {
if (query.numRowsAffected() == 0) {
QMessageBox::warning(this, "删除提示", "该数据不存在,删除失败");
}
else {
QMessageBox::information(this, "删除提示", "删除成功");
}
}
```
在修改后的代码中,我添加了一个条件判断`if (query.numRowsAffected() == 0)`来检查受影响的行数是否为0。如果是0,则显示"该数据不存在,删除失败"的警告对话框,否则显示"删除成功"的信息对话框。这样可以根据数据库操作的结果给出不同的提示信息。
阅读全文