fish-guts
Erfahrenes Mitglied
Moin
Habe es nun endlich mal fertiggebracht, eine Verbindung zu einer ODBC Datenbank zu erstellen.
Habe nun in einer Access Datei die Logindaten von Benutzern. Das Funktioniert eigentlich ganz gut, nur hab ich folgendes Problem:
Wenn der Benutzer nicht vorhanden ist, bringt das Programm immer abwechslungsweise die Hinweise "Ungültiger Cursorstatus" und "Unbekannter Benutzer" (Mein Code, der Aufgerufen werden soll, wenn der Benutzer nicht vorhanden ist).
Wie kann ich nun die Meldung "Ungültiger Cursorstatus" vermeiden? Bin für jede Hilfe dankbar.
Hier noch der Code:
Grüsse FG

Habe es nun endlich mal fertiggebracht, eine Verbindung zu einer ODBC Datenbank zu erstellen.
Habe nun in einer Access Datei die Logindaten von Benutzern. Das Funktioniert eigentlich ganz gut, nur hab ich folgendes Problem:
Wenn der Benutzer nicht vorhanden ist, bringt das Programm immer abwechslungsweise die Hinweise "Ungültiger Cursorstatus" und "Unbekannter Benutzer" (Mein Code, der Aufgerufen werden soll, wenn der Benutzer nicht vorhanden ist).
Wie kann ich nun die Meldung "Ungültiger Cursorstatus" vermeiden? Bin für jede Hilfe dankbar.
Hier noch der Code:
Code:
void CLogindata::CheckLogin(CString user, CString pass)
{
static int x=1;
static int y=1;
CDatabase db;
db.OpenEx(_T("DSN=User;UID=admin"),
CDatabase::noOdbcDialog);
if(db.IsOpen())
{
CRecordset rs(&db);
rs.Open(CRecordset::dynaset,
_T("Select * from [user]"),none);
if(rs.IsOpen())
{
check:
CString username,password;
rs.GetFieldValue(_T("username"),username);
rs.GetFieldValue(_T("passwort"),password);
if(user=="")
{
CString EString="Bitte geben Sie einen Benutzernamen ein";
CLogin eb;
eb.Errorbox(EString);
goto end;
}
else if(pass=="")
{
CString EString="Bitte geben Sie ein Passwort ein";
CLogin eb;
eb.Errorbox(EString);
goto end;
}
else if(username==user)
{
if(password==pass)
{
CLogin ok;
ok.PasswordOkay();
x=1;
goto end;
}
else
{
if(y<=2)
{
CLogin ok;
ok.PasswordWrong();
y++;
x=1;
goto end;
}
else
{
CString EString="Falsches Passwort. Bitte kontaktieren Sie einen Administrator";
CLogin eb;
eb.Errorbox(EString);
exit(EXIT_SUCCESS);
}
}
}
if(user!=username)
{
long c=rs.GetRecordCount();
if(x<=c)
{
rs.MoveNext();
x++;
goto check;
}
else
{
CString EString="Unbekannter Benutzer!";
CLogin eb;
eb.Errorbox(EString);
goto end;
}
}
}
end:
x=1;
rs.Close();
db.Close();
}
}
Grüsse FG
