Einzelnen Beitrag anzeigen

holle

Registriert seit: 15. Nov 2005
Ort: Uckerland
138 Beiträge
 
Delphi 7 Enterprise
 
#1

Rückgabewert aus Query auslesen

  Alt 11. Jan 2008, 20:53
Datenbank: SQLite • Version: 3 • Zugriff über: ZeosLib
Ich benutze folgenden SQL-Befehl, um die Anzahl von Datensätzen zu bestimmen:
Code:
SELECT COUNT(*) FROM (SELECT * FROM tblTracks WHERE path = :path);
Wie kann ich jetzt den Wert auslesen, den die Anfrage zurückgibt. Ich habe es so versucht, bekomme aber immer eine Fehlermeldung: "Listindex überschreitet das Maximum (0)"
Delphi-Quellcode:
with ZQuery do begin
      // anzahl bestimmen
      SQL.Clear;
      SQL.Add('SELECT COUNT(*) FROM (SELECT * FROM tblTracks WHERE path = :path);');
      ParamByName('path').AsString := tmp.Strings[i];
      ExecSQL;

      // anzahl prüfen, wenn nicht existiert einfügen
      if ZQuery.Fields[0].AsInteger = 0 then begin
        SQL.Clear;
        SQL.Add('INSERT INTO tblTracks(Artist, Album, Track, Title, Path) VALUES (:artist, :album, :track, :title, :path);');
        ParamByName('artist').AsString := id3.Artist;
        ParamByName('album').AsString := id3.Album;
        ParamByName('track').AsInteger := strToInt(id3.Track);
        ParamByName('title').AsString := id3.Title;
        ParamByName('path').AsString := tmp.Strings[i];
        ExecSQL;
      end;
Wie könnte man es anders lösen?

Marcel
Marcel
  Mit Zitat antworten Zitat