Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: ADO, Access und das alles vergleichen

  Alt 21. Jul 2004, 08:32
Zitat von motu:
Nun stellt sich die Frage, wie bekomme ich meine Variablen in den SQL Ausdruck, und wie kann ich, sofern es passende Datensätze gibt, diese dem Nutzer anzeigen?
Damit dies sauber funktioniert brauchst du ein (oder mehrere) Primärschlüsselfeld (z.B. Kundennummer).
So wird ein Datensatz eindeutig identifiziert.
Delphi-Quellcode:
  ADOQuery1.SQL.Text := 'SELECT * FROM Tabelle WHERE pkeyfeld=:pkeyfeld';
  ADOQuery1.Parameters.ParamValues['pkeyfeld'] := akt_pkey;
  ADOQuery1.Open;
  // die Abfrage kann entweder leer sein oder liefert genau 1 Datensatz
  if ADOQuery1.IsEmpty then
  begin
    // neuen Datensatz einfügen
    ADOQuery1.Insert;
    ADOQuery1.FieldValues['pkeyfeld'] := akt_pkey;
    ADOQuery1.FieldValues['Feld2'] := 'irgendwas anderes';
    ADOQuery1.Post;
  end
  else
  begin
     // form2 ist ein Hilfsformular, dass die Datenfelder eines Datensatzen anzeigt
     // der Benutzer kann entweder OK oder Abbrechen klicken
     form2.Dataset := ADOQuery1;
     if form2.ShowModal = mrOK then
     begin
       // bestehender Datensatz überschreiben
       ADOQuery1.Edit;
       // alle Felder bestücken mit Ausnahme des pkeyfeld
       ADOQuery1.FieldValues['Feld2'] := 'irgendwas anderes';
       ADOQuery1.Post;
     end
     else
        ShowMessage('Daten wurde nicht überschrieben'); // später weglassen
  end;
  ADOQuery1.Close;
Andreas
  Mit Zitat antworten Zitat