为什么总提示:;expected but 'else' found '.'expected bu ';'found以下是代码:
procedure TfrmDAout.pnlSaveClick(Sender: TObject);
var
str1,str2,str3,str4:string;
tempLT:string;
begin
str2:='select * from goodsstoragerrecord where Barcode=:barcode';
with qryselect do
begin
close;
sql.Clear;
sql.Add(str2);
parameters.ParamByName('barcode').Value:=trim(Rzedtbarcode.Text);
open;
end;
if qryselect.RecordCount<>0 then
begin
tempLT:=qryselect.FieldByName('Locator').AsString;
str3:='select * from goodsstoragerrecord where Locator:=locator';
with qryclearcolor do
begin
close;
sql.Clear;
sql.Add(str3);
open;
end; if qryclearcolor.RecordCount=1 then
begin
str4:='delete stockcolor where position=:position';
with qrydelcolor do
begin
close;
sql.Clear;
sql.Add(str4);
parameters.ParamByName('position').Value:=tempLT;
execsql;
end; end
else
begin
str1:='delete Goodsstoragerrecord where Barcode=:barcode';
with qrymyout do
begin
close;
sql.Clear;
sql.Add(str1);
parameters.ParamByName('barcode').Value:=trim(Rzedtbarcode.Text);
execsql;
end;
showmessage('出库成功!');
end;
end; end
else
begin
showmessage('出库失败,请检查是否存在BarCode!')
end;
end;
end;
procedure TfrmDAout.pnlSaveClick(Sender: TObject);
var
str1,str2,str3,str4:string;
tempLT:string;
begin
str2:='select * from goodsstoragerrecord where Barcode=:barcode';
with qryselect do
begin
close;
sql.Clear;
sql.Add(str2);
parameters.ParamByName('barcode').Value:=trim(Rzedtbarcode.Text);
open;
end;
if qryselect.RecordCount<>0 then
begin
tempLT:=qryselect.FieldByName('Locator').AsString;
str3:='select * from goodsstoragerrecord where Locator:=locator';
with qryclearcolor do
begin
close;
sql.Clear;
sql.Add(str3);
open;
end; if qryclearcolor.RecordCount=1 then
begin
str4:='delete stockcolor where position=:position';
with qrydelcolor do
begin
close;
sql.Clear;
sql.Add(str4);
parameters.ParamByName('position').Value:=tempLT;
execsql;
end; end
else
begin
str1:='delete Goodsstoragerrecord where Barcode=:barcode';
with qrymyout do
begin
close;
sql.Clear;
sql.Add(str1);
parameters.ParamByName('barcode').Value:=trim(Rzedtbarcode.Text);
execsql;
end;
showmessage('出库成功!');
end;
end; end
else
begin
showmessage('出库失败,请检查是否存在BarCode!')
end;
end;
end;
var
str1,str2,str3,str4:string;
tempLT:string;
begin
str2:='select * from goodsstoragerrecord where Barcode=:barcode';
with qryselect do
begin
close;
sql.Clear;
sql.Add(str2);
parameters.ParamByName('barcode').Value:=trim(Rzedtbarcode.Text);
open;
end;
if qryselect.RecordCount<>0 then
begin
tempLT:=qryselect.FieldByName('Locator').AsString;
str3:='select * from goodsstoragerrecord where Locator:=locator';
with qryclearcolor do
begin
close;
sql.Clear;
sql.Add(str3);
open;
end; if qryclearcolor.RecordCount=1 then
begin
str4:='delete stockcolor where position=:position';
with qrydelcolor do
begin
close;
sql.Clear;
sql.Add(str4);
parameters.ParamByName('position').Value:=tempLT;
execsql;
end; end
else
begin
str1:='delete Goodsstoragerrecord where Barcode=:barcode';
with qrymyout do
begin
close;
sql.Clear;
sql.Add(str1);
parameters.ParamByName('barcode').Value:=trim(Rzedtbarcode.Text);
execsql;
end;
showmessage('出库成功!');
end;
end; end
else
begin
showmessage('出库失败,请检查是否存在BarCode!')
end;
end;
end;
end;//去掉
end;//去掉
begin
showmessage('出库失败,请检查是否存在BarCode!')
end;
end;//去掉
end;//去掉 begin
showmessage('出库失败,请检查是否存在BarCode!')
end;
end;//去掉
语法没搞清啊,else后面接语句或者语句块就行了,不要特意加end表示结束的
去掉else后面的冗余end就对了
chengquan17 感谢你提的建议,所以分嘛,你俩平分喽~~