Привет друзья.
Хочу чтоб Edit чистился при успешном завершении запросов. Но почему то пропадает результирующее множество из дбгрида когда я его чищю. Короче вот код из него будет яснее. Игрался с exit не помогло либо выборка либо чистый эдит
Код:
procedure TBarcodeForm.Edit1Change(Sender: TObject);
var
Query:string;
Date:string;
Flag:bool;
begin
if (Edit1.Text='') and (Str='') then
begin
BarcodeForm.ADOQuery1.SQL.Clear;
BarcodeForm.ADOQuery1.SQL.Add('SELECT * FROM works');
BarcodeForm.ADOQuery1.Open;
label9.Caption:= countrec + IntToStr(BarcodeForm.Adoquery1.RecordCount);
end else begin
BarcodeForm.ADOQuery1.SQL.Clear;
BarcodeForm.ADOQuery1.SQL.Add('SELECT * FROM works WHERE cBarcode = :dd1_b');
BarcodeForm.ADOQuery1.Parameters.ParamByName('dd1_b').Value:= Edit1.Text;
BarcodeForm.ADOQuery1.Open;
Date := FormatDateTime('yyyy-mm-dd', Now);
Str:= Adoquery1.FieldByName('nKey').asstring;
label9.Caption:= 'ID: ' + Str;
//Flag:=false;
if (BarcodeForm.ADOQuery1.RecordCount > 0) and (Str <> '') then
begin
Query:='UPDATE works SET dJobDone = '''+ Date +''' WHERE nKey = ' + Str;
BarcodeForm.ADOQuery1.SQL.Clear;
BarcodeForm.ADOQuery1.SQL.Add(Query);
BarcodeForm.ADOQuery1.ExecSQL;
Query:='SELECT * FROM works WHERE nKey = ' + Str;
BarcodeForm.ADOQuery1.SQL.Clear;
BarcodeForm.ADOQuery1.SQL.Add(Query);
showmessage(BarcodeForm.ADOQuery1.SQL.Text);
BarcodeForm.ADOQuery1.Open;
//Flag:=true;
exit;
Str:='';
Edit1.Text:='';
end;
end;
end;