Die Connection (via ODBC)
-
Die Connection (via ODBC) habe ich wie folgt hinbekommen:
//loginname & loginpass sind Edit FelderDatabase1->DatabaseName ="TESTDB01";
Database1->Params->Values["user name"] = loginname->Text;
Database1->Params->Values["password"] = loginpass->Text;
[/cpp]Wie kann ich hier abfangen, wenn das Login inkorrekt gewesen ist ?
-
HAB ICH DIR IN DEM ANDEREN FORUM DOCH ERSCHÖPFEND BEANTWORTET!
-
Das hier ?
int LoginCount = 0; do { LoginCount++; try { Database1->Open(); } catch(...) { ShowMessage("Falscher Benutzername oder falsches Kennwort."); Mitarb->InforName = ""; } } while (!Database1->Connected && LoginCount < 3);Was mache ich hier mit dem
catch(...)???
catch(exception & e)???
-
Du malst es grün an und freust dich.

Was soll "was mach ich mit" heißen? Du sollst es wohl verwenden.
-
Ich vermute mal, dass Mike nicht klar war/ist, dass das '...' bedeutet, dass alle Exceptions abgefangenwerden. Er hat möglicherweise vermutet, dass Joe_M das im Sinne von "hier etwas ergänzen" meinte.
-
Ja, stimmt genau.
Ich dachte mit (...) ist gemeint hier soll ich noch Syntax einpflegen.Ich habe 2 Edit Felder (euserlogin & euserpass) welche der User füllt.
int LoginCount = 0; do { LoginCount++; Tabelle1->Active = false; Datenbank1->DatabaseName ="testdb"; Datenbank1->Params->Values["user name"] = euserlogin->Text; Datenbank1->Params->Values["password"] = euserpass->Text; try { Datenbank1->Open(); Tabelle1->Active = true; } catch(...) { ShowMessage("Falscher Benutzername oder falsches Kennwort."); } } while (!Datenbank1->Connected && LoginCount < 3);Wenn das Passwort falsch ist,bekomme ich immer die Fehlermeldung / Programmabsturz:
Allgemeiner SQL-Fehler - Kein zulässiges Kennwort
Prozeß wurde angehalten.Mit Einzelne Anweisung oder Start fortsetzen
-
Eine Exception ist kein Absturz! Noch nicht mal ne Fehlermeldung! (Ok vielleicht das am ehesten.)
Man kann in der IDE abschalten, dass Exceptions angezeigt werden, obwohl sie behandelt wurden. Wurde hier schon öfters genannt, findet man vielleicht sogar noch.
-
Hallo,
vielen Dank.
Habe es gefunden und getestet. Funktioniert.
Der Menüpunkt ist unter Tools/ Debugger Options/ Sprach-Exceptions ->Bei C++ Exceptions stoppen.