selectString1 := contentSelect1;
selectString2 := contentSelect2;
if(selectString1='')and(selectString2='') then
begin
with application do
MessageBox('请选择查询条件','提示信息',MB_OK);
end;
end
else if(selectString1='')and(selectString2<>'') then begin /////出错
if(selectString2='Y') then begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From jshk');
SQL.Add(' where 打印状态=''Y'' and 监管项目<>''0037''');
Open;
end;
end else begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From jshk');
SQL.Add(' where 打印状态<>''Y'' and 监管项目<>''0037''');
Open;
end;
end;
end
else if(selectString1<>'')and(selectString2='') then begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From jshk');
SQL.Add('where 管辖单位=:ss and 监管项目<>''0037''');
Parameters.ParamByName('ss').Value:=selectString1;
Open;
end;
end
else if(selectString1<>'')and(selectString2='Y') then begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From jshk');
SQL.Add(' where 管辖单位=:ss and 打印状态=''Y'' and 监管项目<>''0037''');
Parameters.ParamByName('ss').Value:=selectString1;
Open;
end;
end
else begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From jshk');
SQL.Add(' where 管辖单位=:ss and 打印状态<>''Y'' and 监管项目<>''0037''');
Parameters.ParamByName('ss').Value:=selectString1;
Open;
end;
end;
请大侠们帮忙看下哪里有问题,始终在第一个else if处报错,说是 ;expected but else found
selectString2 := contentSelect2;
if(selectString1='')and(selectString2='') then
begin
with application do
MessageBox('请选择查询条件','提示信息',MB_OK);
end;
end
else if(selectString1='')and(selectString2<>'') then begin /////出错
if(selectString2='Y') then begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From jshk');
SQL.Add(' where 打印状态=''Y'' and 监管项目<>''0037''');
Open;
end;
end else begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From jshk');
SQL.Add(' where 打印状态<>''Y'' and 监管项目<>''0037''');
Open;
end;
end;
end
else if(selectString1<>'')and(selectString2='') then begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From jshk');
SQL.Add('where 管辖单位=:ss and 监管项目<>''0037''');
Parameters.ParamByName('ss').Value:=selectString1;
Open;
end;
end
else if(selectString1<>'')and(selectString2='Y') then begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From jshk');
SQL.Add(' where 管辖单位=:ss and 打印状态=''Y'' and 监管项目<>''0037''');
Parameters.ParamByName('ss').Value:=selectString1;
Open;
end;
end
else begin
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From jshk');
SQL.Add(' where 管辖单位=:ss and 打印状态<>''Y'' and 监管项目<>''0037''');
Parameters.ParamByName('ss').Value:=selectString1;
Open;
end;
end;
请大侠们帮忙看下哪里有问题,始终在第一个else if处报错,说是 ;expected but else found
解决方案 »
- 三层结构客户端无法得到正确的中间层产生的错误讯息~~~
- 关于edit的小问题!谢谢!
- FastReport2.5中交叉报表能设置居中吗?3.15中,如何实现与2.5一样,在frPreview中预览,并显示工具条
- 在RxmemoryData中使用 filter居然无任何反应
- 出现"CommandText changes are not allowed"是什么原因?
- 生成可视控件的问题?
- 寻找ACSII表,我想打印出来。
- 如何把启动项目显示在ListView中
- 动态设置QRexpr的expression提示出错,错误为:Unterminated string constant,请高手帮忙看一看,急急急
- 在构造一个类时想销毁这个类(由于某些条件不满足),如何做?
- 写网络桌面程序,我应该用那些组件啊?
- delphi ADOCommand怎麼傳入UNICODE參數,後台SQL
MessageBox('请选择查询条件','提示信息',MB_OK);
end;
do后面少了begin
不过这个with do实在是多此一举,呵呵
selectString1 := contentSelect1;
selectString2 := contentSelect2;
if(selectString1='')and(selectString2='') then
begin
with application do
MessageBox('请选择查询条件','提示信息',MB_OK);
end;
end
多了一个end
可以考虑更改代码结构
确实 我觉得用case 都比这个强