![]() |
Re: %? Alles vor und nach String abfragen?
Zitat:
Dann hat dein Programm einen Designfehler. 600 Checkboxes is wirklich n bisschen viel. Bist du sicher, dass du die alle brauchst? Das kann ma bestimmt anders lösen. |
Re: %? Alles vor und nach String abfragen?
Zitat:
2. Wird die SQL-Abfrage halt sehr lang und dauert auch dementsprechend. Der Abfragestring lässt sich aber recht simpel über eine Schleife zusammenbauen. |
Re: %? Alles vor und nach String abfragen?
Ok ich gebe zu bis jetzt sind es ja nur 300 Checkboxen. Wie kann ich die abfrage denn aus dem Array zusammen bauen?
Bis jetzt habe ich immer das hier im Zusammenhang mit dem String genutzt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Boxes: array[0..3] of TCheckbox; sText: string; i: integer; begin //Array belegen Boxes[0] := CheckBox1; Boxes[1] := CheckBox2; Boxes[2] := CheckBox3; Boxes[3] := CheckBox4; ... |
Re: %? Alles vor und nach String abfragen?
Versuch es mal so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const InitialText = 'SELECT * FROM Tabelle WHERE '; var Boxes: array[0..3] of TCheckbox; sText: string; i: integer; begin //Array belegen Boxes[0] := CheckBox1; Boxes[1] := CheckBox2; Boxes[2] := CheckBox3; Boxes[3] := CheckBox4; sText := InitialText; for i := Low(Boxes) to High(Boxes) do if Boxes[i].Checked then sText := sText + 'wert LIKE ' + QuotedStr('%' + Boxes[i].Caption + '%') + ' AND '; if Length(sText) > Length(InitialText) then begin Delete(sText,Length(sText) - 4, Length(sText)); Query.SQL.Text := sText; Query.Open; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz