strige hat geschrieben:Hi,
Code: Alles auswählen
QSqlQuery query;
query.exec("blabla");
QSqlError err = query.lastError();
qDebug() << err.text();
meintest du sowas?
Wie ich den letzten SQL Fehler ausgebe, ist mir auch soweit klar... Mir geht es eher um die Fehlerbehandlung.
Beispiel:
Code: Alles auswählen
QSqlQuery insert;
insert.prepare("INSERT INTO address (vorname, nachname, adresse, plz, ort, phone) VALUES (:vorname, :nachname, :adresse, :plz, :ort, :phone)");
insert.bindValue(":vorname", _surname);
insert.bindValue(":nachname", _lastname);
insert.bindValue(":adresse", _address);
insert.bindValue(":plz", _plz);
insert.bindValue(":city", _city);
insert.bindValue(":phone", _phone);
if (!insert.exec()) {
QMessageBox::critical(0, "Sql Fehler",
QString("Sql Fehler ist aufgetreten!<br><b>Zeile:</b> %1<br/><b>Datei:</b> %2<br><b>Error:</b> %3")
.arg(QString::number(__LINE__), __FILE__, insert.lastError().text() ) );
}
Nach absetzen der SQL überprüfe ich, ob ein Fehler aufgetreten ist, wenn ja, teile ich es dem User mit...
Mir geht es um diesen Abschnitt:
Code: Alles auswählen
if (!insert.exec()) {
QMessageBox::critical(0, "Sql Fehler",
QString("Sql Fehler ist aufgetreten!<br><b>Zeile:</b> %1<br/><b>Datei:</b> %2<br><b>Error:</b> %3")
.arg(QString::number(__LINE__), __FILE__, insert.lastError().text() ) );
}
Diesen Code müsste ich nun bei jeder einzelnen SQL Query einbauen, was ich aber verhindern möchte...
Daher meine Frage, kann ich die Überprüfung der SQL und gegeben falls Fehler- Erzeugung automatisieren, so dass ich diese nach der Abfrage nicht immer wieder diese Abfrage durchführen muss?