Einzelnen Beitrag anzeigen

tr909

Registriert seit: 5. Nov 2004
193 Beiträge
 
Turbo Delphi für Win32
 
#1

Unerklärliches selbstständiges Insert?

  Alt 1. Nov 2007, 10:41
Datenbank: Access • Version: 2000 • Zugriff über: ADO
Moin. Ich habe hier ein altes Stück Software liegen bei dem ich einen Fehler nicht verstehe. Das der Code nicht schön ist weiß ich selber. Wird deshalb auch umgeschrieben.

Ich benutze TJVLoginDialog und diese sind die beiden benutzen procedures.

Delphi-Quellcode:
procedure TfrmMain.JvLoginDialog1BeforeLogin(Sender: TObject);
begin
  ADOCon1.Close;
  ADOCon1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
    'datei.mdb;Persist Security Info=False';
  ADOCon1.Open;
end;

procedure TfrmMain.JvLoginDialog1CheckUser(Sender: TObject; const UserName,
  Password: string; var AllowLogin: Boolean);
var
  tblUs: TADOTable;
  i: integer;
begin
  userID := 0;
  userNa := '';
  tblUs := TADOTable.Create(self);
  tblUs.Connection := ADOCon1;
  tblUs.TableName := 'Nutzer';
  tblUs.Open;
  if tblUs.Locate('Kurz', UserName, []) then
    if tblUs.FieldByName('Password').AsString = Password then
    begin
      userID := tblUs.FieldByName('UserID').AsInteger;
      userNa := tblUs.FieldByName('Kurz').AsString;
    end;
  tblUS.Close;
  tblUs.Free;
  if userID = 0 then
  begin
    ShowMessage('Ungültiger Benutzername. Anwendung wird beendet.');
    ADOCon1.Close;
    JvLoginDialog1.TerminateApplication;
  end;
end;
Nun das was ich nicht verstehe. Zu nicht reproduzierbaren Zeitpunkten kommt es vor das der eingegebene Benutzername als neuer Eintrag in der Tabelle auftaucht. Das ich jedoch keinerlei Inserts benutze ist es mir ein Rätsel wie die da rein kommen.
Evtl. kann ja einer von euch dieses Rätsel lüften.

Gruß
tr909
  Mit Zitat antworten Zitat