Thema: Delphi Datenbank Abfragen

Einzelnen Beitrag anzeigen

raiguen
(Gast)

n/a Beiträge
 
#10

Re: Datenbank Abfragen

  Alt 9. Mai 2007, 22:34
shmia hat es bereits im Posting #2 gesagt: der gezeigte Weg ist nicht elegant: Warum erst die gesammte Tabelle laden und dann satzweise durchhangeln, um einen bestimmten Datensatz zu finden?
Sowas lässt sich mit einem SQL-Statement anders=besser lösen:
Delphi-Quellcode:
procedure TFormMain.Open;
begin
  if not ADOQuery1.Prepared then
    begin
      ADOQuery1.Close; // sicherheitshalber!
      ADOQuery1.SQL.Text := 'SELECT * FROM TAC8 WHERE feld1=:WERT ';
      //--für weitere Abfragen mit unterschiedlichem Parameter vorbereiten
      ADOQuery1.Prepared := True;
  end;
  
  //--Parameter setzen, vorher Query schliessen
  ADOQuery.Close;
  ADOQuery1.Params[0].Value := StrToInt(Edit1.Text);
  ADOQuery1.Open;
  
  //--hat Abfrage einen Datensatz zürückgeliefert?
  if not ADOQuery1.IsEmpty then
     begin
       hst:= ADOQuery1.FieldValues['Feld2'];
       modell:=ADOQuery1.FieldValues['Feld3'];
       zula:=ADOQuery1.FieldValues['Feld4'];
       land:=ADOQuery1.FieldValues['Feld5'];
       memo1.Lines.add('Manufacturer :'+hst);
       memo1.Lines.add('Model :'+modell);
       memo1.Lines.add('Reg. :'+zula);
       memo1.Lines.add('Country :'+land);
       memo1.Lines.add('==============');
     end
  else
    Memo1.Lines.Add('kein Datensatz für ' + Edit1.Text + ' vorhanden');
end;
  Mit Zitat antworten Zitat