GEstern wurde das Programm getestet. man hat festgestellt, dass die suche nicht wirklich funktioniert.
ich suche verschieden spalten von zwei tabellen und zeige ich das ergebniss in einem grid an. Gesucht wird nahc Analysis_Id, was mal '000123/01' beinhaltete und mal 'Q-1234-456'.
das Daten mit Q wird ohne problem gefunden, aber das Daten mit / zeigt Grid nicht an.
wenn ich die
SQL-String direkt
SQL-Explorer ausführe, bekomme ich alle Ergebnisse mit / problemlos zurück, aber grid zeigt es nicht an. woran kann das bitte liegen?
wenn ich aber alle anzeigen will, zeigt Grid dann doch auch den einträge mit / an.
bitte dringend um Hilfe! heute ist abgabe!
Delphi-Quellcode:
procedure TfrmMain.btnSuchenStartenClick(Sender: TObject);
var
SQL,vWert,sAnalysis_id:
String;
i:Integer;
A: TStringList;
begin
A := TStringList.Create;
cmbSuchFormblatt.Enabled := True;
if (AnalysNr <> '
')
then
begin
TRY
.
.
.
Split('
/', AnalysNr, A) ;
sAnalysis_id := A[0];
SQL := '
';
SQL := '
select distinct a.analysis_id, a.part_id, b.name, a.we_dt, a.batch_id, a.workgrp_id from forms.analysis a, forms.part b';
SQL :=
SQL + '
where a.workgrp_id = ' + QuotedStr(Workid);
SQL :=
SQL + '
and a.analysis_id LIKE ' + QuotedStr (sAnalysis_id + '
%');
if sRolle = '
USER'
then
SQL :=
SQL + '
and a.status < ' + sStatus;
DM.qryGrid4.active := false;
DM.qryGrid4.SQL.clear;
DM.qryGrid4.SQL.add (
SQL);
DM.qryGrid4.active := True;
.
.
.
EXCEPT
on E: EDatabaseError
do ShowMessage(E.
Message);
ELSE
Application.MessageBox('
Operation fehlgeschlagen!', '
Fehler!');
END;
end