如何给Query1的ParamByName赋值(50分)

  • 主题发起人 主题发起人 LSS
  • 开始时间 开始时间
L

LSS

Unregistered / Unconfirmed
GUEST, unregistred user!
DBGrid1.DataSource:=DataSource1;
DataSource1.DataSet:=Query1;
Query1.ParamByName('Name').AsString:='ABCD';
由于是多个控件使用一个dbgrid1,我现在不知道dbgrid1连的是哪个dataset
如可给参数'Name'赋值:类似
dbgrid1.datasource.dataset.parambyname('name').asstring:='ABCD';
可是这不成立!
 
那就判断连的是不是Query1吧,
if dbgrid1.datasource.dataset=Query1 then
dbgrid1.datasource.dataset.parambyname('name').asstring:='ABCD';
 
>dbgrid1.datasource.dataset.parambyname('name').asstring:='ABCD';
当然不行,因为Tdataset根本就没有parambyname()方法,这是TQuery独有的。
只要这样就行了:
if dbgrid1.DataSource.DataSet.ClassType=Tquery then
begin
Tquery(dbgrid1.DataSource.DataSet).Close;
Tquery(dbgrid1.DataSource.DataSet).ParamByName('name').Asstring:='ABCD';
Tquery(dbgrid1.DataSource.DataSet).Open;
end;

 
不好意思fx,没看到您的回答。
但您的伪代码好像有问题啊。
 
1、判断DATASET连接
2、PAR_NAME := XXX;
3、QUERY.PARAMENTBYNAME(PAR_NAME).ASSTRING....
 
接受答案了.
 
后退
顶部