三层接口中的参数传递问题(再加100分!) (50分)

  • 主题发起人 主题发起人 hnlygtjj
  • 开始时间 开始时间
H

hnlygtjj

Unregistered / Unconfirmed
GUEST, unregistred user!
在中间层有一个query,一个TDataSetProvider
其中给query设置了一个参数:lookuporgrid.
query的SQL属性如下:
if lookuporgrid='1'
begin
select '所有部门' as alldepart from depart union select depart_name as alldepart from depart
end
else
select depart_name as alldepart from depart
在客户端有一个ClientDataSet1,一个DBlookupcombobox,一个DBgrid,在客户显示时,
在DBlookupcombobox中显示的要比DBgrid中多一个值(所有部门),我给ClientDataset1
也定义了一个参数lookorgrid,希望能通过这个参数来控制中间层中的SQL的执行方式,
如上所示的SQL,请问这样写行吗?不行的话,那么这个参数应该怎么设置?怎么传?
 
可以在DBlookupcombobox加一个‘所有部门’,有很多复杂点的SQL语句在SQL Server下
能够运行,但是在delphi环境下就不能运行了,实在想用SQL语句写就用存储过程好了!
 
用DataSetProvider1DataRequest加一条记录不就ok了
 
if :lookuporgrid='1' //在參數前面要加上冒號
begin
select '所有部门' as alldepart from depart union select depart_name as alldepart from depart
end
else
select depart_name as alldepart from depart
然后再用ClientDataSet的參數傳遞功能來傳遞參數即可
 
多人接受答案了。
 
后退
顶部