请大家帮忙看下.这段代码是否可以精简下.总感觉应该有比较好的写法.我的代码写得比较笨.
主要的问题是在comboobx1的选择上.如果选择大库,就查大库的库存,如果选择小库,就查小库的库存.如果选择全部.就查全部.
不知道有没有其它更简单的定法.望指教.
procedure Tform1.button1onclick(sender:Tobject);
begin
with adoquery1 do
begin
sql.clear;
if combobox1.Items.Text='大库' then begin
sql.add('select spdm,sum(sl) as sl from spkcb where ckdm=''大库'' group by spdm');
end else if combobox1.Items.Text='小库' then begin
sql.add('select spdm,sum(sl) as sl from spkcb where ckdm=''小库'' group by spdm');
end else begin
sql.add('select spdm,sum(sl) as sl from spkcb')
end;
end;
主要的问题是在comboobx1的选择上.如果选择大库,就查大库的库存,如果选择小库,就查小库的库存.如果选择全部.就查全部.
不知道有没有其它更简单的定法.望指教.
procedure Tform1.button1onclick(sender:Tobject);
begin
with adoquery1 do
begin
sql.clear;
if combobox1.Items.Text='大库' then begin
sql.add('select spdm,sum(sl) as sl from spkcb where ckdm=''大库'' group by spdm');
end else if combobox1.Items.Text='小库' then begin
sql.add('select spdm,sum(sl) as sl from spkcb where ckdm=''小库'' group by spdm');
end else begin
sql.add('select spdm,sum(sl) as sl from spkcb')
end;
end;
解决方案 »
- 有关httppost编程
- 求一个 Delphi udp winsock2 文件传输 例子~~~
- 私有变量释放问题
- 求:这样的报表统计设计问题!
- TwebBrowser链接到TreeView的拖放问题
- 一个菜鸟的问题!
- 象我这样的人在北京,上海或者深圳能拿多少薪水?经验丰富的请指教
- 考试刚考了3科,就已经挂了一科了,郁闷死了~散分~~~~
- 简单的问题(delphi 6 +sql serve 2000)的小问题,如何动态增加字段?
- 在DELPHI的FORM中怎样打开IE,然后让IE打开FORM送过来的URL???
- 将字母大写后鼠标焦点如何后置?
- 能否将里面的SQL语句转换成delphi里面能用的语句?大家帮帮忙~
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
with adoquery1 do
begin
sql.clear;
if combobox1.ItemIndex>=0 then
sql.add('select spdm,sum(sl) as sl from spkcb')
else
sql.add('select spdm,sum(sl) as sl from spkcb where ckdm='''+combobox1.Items.Text+''' group by spdm');
end;
end;
procedure Tform1.button1onclick(sender:Tobject);
begin
with adoquery1 do
begin
sql.clear;
if combobox1.Items.Text='全部' then
sql.add('select spdm,sum(sl) as sl from spkcb')
else
sql.add('select spdm,sum(sl) as sl from spkcb where ckdm=' +
QuotedStr(combobox1.Items.Text)+' group by spdm');
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
with adoquery1 do
begin
sql.clear;
if combobox1.Items.Text='' then
sql.add('select spdm,sum(sl) as sl from spkcb')
else
sql.add('select spdm,sum(sl) as sl from spkcb where ckdm='''+combobox1.Items.Text+''' group by spdm');
end;
end;
[/Quote]
var
vStr: String;
begin
vStr := ' select spdm,sum(sl) as sl from spkcb where 1=1';
if combobox1.Items.Text<>'' then
vStr := vStr +' and ckdm=:ckdm';
vStr := vStr +' group by spdm';
with adoquery1 do
begin
close;
sql.text := vStr;
if combobox1.Items.Text<>'' then
parameters.parambyname('chdm').value := combobox1.Items.Text;
Open;
end;
end;
begin
with adoquery1 do
begin
sql.clear;
if combobox1.ItemIndex>=0 then
sql.add('select spdm,sum(sl) as sl from spkcb where ckdm='''+combobox1.Items.Text+''' group by spdm')
else sql.add('select spdm,sum(sl) as sl from spkcb')
end;
end;
http://topic.csdn.net/u/20080903/14/f9eae873-ed23-4d5e-9000-e8dda0634bc5.html
希望有高手帮我解答一下.dev才用.实在是有很多问题
begin
with adoquery1 do
begin
sql.clear;
if combobox1.ItemIndex>=0 then
sql.add('select spdm,sum(sl) as sl from spkcb')
else
sql.add('select spdm,sum(sl) as sl from spkcb where ckdm='''+combobox1.Items.Text+''' group by spdm');
end;
end;
close.这个不需要再说了.必竟我不是什么都不懂啊