Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Datenbank Rückgabewert(e)

  Alt 22. Sep 2009, 10:15
Hallo stho,

ich frag mich immer wofür dieses ominöse DataSet überhaupt gut sein sollte. Wenn ich irgendwelche Zugriffe auf Datenbankdaten habe, löse ich das mit der Query. Also ungefähr so:

ADOQuery1.SQL.Text:='SELECT SUM(Preis) AS Summe FROM Finanzen'; Unter D2006 mußt Du da allerdings ein paar Niggeligkeiten beachten.
Ich empfehle Dir Deine Abfragen, bzw. alles was mit der DB zu tun hat, in ein DM (TDataModule) auszulagern.
Wenn Du ohne Passwortabfrage (PW wird im Programm gespeichert!) arbeiten willst, dann reicht eine ADOQuery. Ansonsten arbeitest Du mit einer ADOConnection und einer ADOQuery und Du must dblogdlg für den Login-Dialog einbinden. (uses dblogdlg; reicht!)

Delphi-Quellcode:
const
  sqltext='select tabelle.feld1 from tabelle where tabelle.feld2=:_feld9_';
...
begin
  AL_DM.Query1.Close;
  AL_DM.Query1.Sql.Text:=sqltext;
  AL_DM.Query1.Parameters.ParamByName('_feld9_').value:='1234';
  AL_DM.Query1.open;
  if not AL_DM.Query1.eof then repeat
    // Daten einlesen
    AL_DM.Query1.Next;
  until AL_DM.Query1.eof;
  AL_DM.Query1.Close;
end;

Gruß
K-H

P.S. DB-Änderungen über Query.execSQL und natürlich ohne Rückgabewerte.
  Mit Zitat antworten Zitat