Re: SQL Abfrage auf Access .mdb
Geschafft:
Es lag wirklich an der Aufrufreihenfolge. Seltsamerweise hat der einfache Aufruf ohne SQLabfrage an gleicher Stelle funktioniert, mit SQL Abfrage leider nicht. Die Abfrage habe ich nun testweise ins Datenmodul verschoben und voila, hier funktioniert dann alles wie es soll:
Delphi-Quellcode:
Ein Last; hab ich nicht benötigt, im Gegenteil:
with ADOQueryClients do
begin Close; SQL.Text := 'SELECT ID FROM Clients WHERE Status = ''Y'' '; // SQL.Text := 'SELECT ID FROM Clients WHERE Status LIKE :Status '; // funktioniert in diesem Fall genau wie: // SQL.Text := 'SELECT ID FROM Clients WHERE Status = :Status '; // Parameters.ParamByName('Status').Value:='Y'; Open; NumberOfClients := RecordCount; end; SetLength(Client_ID_Array, NumberOfClients); for i := 0 to (NumberOfClients - 1) do begin Client_ID_Array[i]:= ADOQueryClients.FieldList.FieldByName ('ID').AsInteger; ADOQueryClients.Next; end; Setze ich in diesem Fall Last; wird nur noch der letzte Datensatz ins Array übernommen. @ mkinzler: Habs gerade nochmal ausprobiert: Da mein Status nur Y ist, funktioniert LIKE ohne Joker genau wie =. Oder anders formuliert: Lässt man den Joker weg, funktioniert LIKE allgemein wie =. Vielen Dank nochmal an alle. Die Fehlersuche hätte ohne die hier gefallenen Denkanstöße einiges länger gebraucht. :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz