Thema
:
Delphi
ADOQuery: nur eine Anfrage möglich???
Einzelnen Beitrag anzeigen
vit4l
Registriert seit: 10. Jun 2008
72 Beiträge
#
5
Re: ADOQuery: nur eine Anfrage möglich???
10. Feb 2009, 17:01
zusammenfalten
·
markieren
Delphi-Quellcode:
var
ADOQ: TADOQuery;
...
procedure
TfrmMain.KundenSuchen;
var
strKundennummer:
string
;
strVariante:
string
;
Where:
string
;
Where_Part1, Where_Part2:
string
;
OrderBy:
string
;
Select:
string
;
i : integer;
begin
try
ADOQ.Active := false;
if
(Length(txtKundennummer.Text) > 0)
or
(Length(txtVariante.Text) > 0)
then
begin
strKundennummer := LowerCase(txtKundennummer.Text + '
%
');
strVariante := LowerCase('
%
' + txtVariante.Text + '
%
');
with
TStringList.Create
do
try
Delimiter := '
;
';
StrictDelimiter := true;
DelimitedText := AktuellerBenutzer.Einstellungen.TABELLE_KUNDEN_SUCHFELDER;
ADOQ.Parameters.Clear;
with
ADOQ.Parameters.AddParameter
do
begin
Name
:= '
kundennummer
';
Value := strKundennummer;
end
;
Where_Part1 := '
WHERE (LOWER(u_kn) LIKE :kundennummer) AND (
';
for
i := 0
to
Count - 1
do
begin
with
ADOQ.Parameters.AddParameter
do
begin
Name
:= Strings[i];
Value := strVariante;
end
;
if
Length(Where_Part2) > 0
then
Where_Part2 := Where_Part2 + '
OR
';
Where_Part2 := Where_Part2 + '
(LOWER(
' + Strings[i] + '
) LIKE :
''
' + Strings[i] + '
''
)
';
end
;
finally
Where := Where_Part1 + Where_Part2 + '
)
';
Free;
end
;
case
cbSortierenNach.ItemIndex
of
0: OrderBy := '
ORDER BY u_kn
';
1: OrderBy := '
ORDER BY u_name
';
2: OrderBy := '
ORDER BY u_vorname
';
3: OrderBy := '
ORDER BY u_plz
';
4: OrderBy := '
ORDER BY u_ort
';
5: OrderBy := '
ORDER BY u_land
';
end
;
Select := '
SELECT * FROM KUNDEN
' + Where + '
' + OrderBy;
ADOQ.SQL.Clear;
ADOQ.ParamCheck := true;
ADOQ.SQL.Text := Select;
ADOQ.Active := true;
ADOQ.Open;
end
;
except
end
;
end
;
Zitat
vit4l
Öffentliches Profil ansehen
Mehr Beiträge von vit4l finden