Das ganze würde funktionieren, aaaber....
Das Füllen des LV sollte vielleicht ein wenig dynamischer gemacht werden.
Delphi-Quellcode:
With qrMain
Do
Begin
SQL.Text :=
'
SELECT Order_Type' + #10 +
'
,Customer_Number' + #10 +
'
,Order_Number' + #10 +
'
,First_Event' + #10 +
'
,PrePrint' + #10 +
'
,Print' + #10 +
'
,BMSLogout' + #10 +
'
FROM table_ordertracking' + #10 +
'
WHERE Customer_Number Like :i_KNR' + #10 +
'
ORDER By Order_Number';
// Parse Statement um Variablen zu erkennen
Prepared := True;
// Parameterzuweisung
Parameters.ParamByName('
i_KNR').Value := edKNR.Text + '
%';
// Hier hatte ich + '%' vergessen
lvAnzeige.Items.Clear;
// Ausführen
Open;
While Not Eof
Do
Begin
// neues ListItem
With lvAnzeige.Items.Add
Do
Begin
// erste Spalte als Caption
Caption := Fields[0].asString:
With SubItems
Do
// Spalte 2-X als Subitems
For i := 1
To pred(FieldCount)
Do
Add(Fields[i].asString);
End;
Next;
End;
End;
Änderst du das Select-STATEMENT wird auch der LV anders gefüllt.
Wenn die Spaltennamen fest in den Code geschrieben werden, wird er schwerer wartbar. Außerdem Sorgen deine ´ für nichts mehr als erhöhtem Aufwand beim Parsing des Statements.
Edit:
1 Fehlerchen ausgemerzt