起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 223|回复: 6

【结】关于动态绑定DataSetBroker中id的问题。

[复制链接]
发表于 2009-12-24 16:11:25 | 显示全部楼层 |阅读模式
调用函数是
findquery(InfoBroker.Info,self);
代码如下,动态生成了数据集和DataSetBroker,希望能够进行动态赋值。但是。执行DataSetBroker[1].DataSet.Open;这一句是报错。说找不到id为'test'的数据集,应该怎么才能进行动态赋值呢???因为需要使用DataChart,所以需要使用到动态生成的DataSetBroker。
function TSJXZ.findquery(AOwner1: Business.System.TComponent;AOwner2: Business.System.TComponent):string;//动态生成数据集
var
   i : integer;
begin

  i := 9;
  SetLength(tmpDataset,i);
  SetLength(DataSetBroker,i);
  tmpDataset[1]:=tsqldataset.Create(AOwner1);
  DataSetBroker[1]:=tDataSetBroker.Create(AOwner2);
  try
   tmpdataset[1].Database.URL:='Biz:\INTEGRATIVEPLAN\IPDB.DATABASE';
   tmpdataset[1].SQL.Text:='SELECT *  FROM DZBCX '; //where BM='+''''+''+''''
   tmpdataset[1].Open;
   tmpdataset[1].ID := 'test';
   DataSetBroker[1].InfoBroker := InfoBroker;

   DataSetBroker[1].DataSetID := tmpdataset[1].ID;
   DataSetBroker[1].DataSet.Open;
   //result:= tmpdataset[1].Fields[0].AsString;
   finally
   //tmpDataset[1].Free;
   //DataGrid1.DataSource := ;
   end;
end;
回复

使用道具 举报

发表于 2009-12-24 16:55:41 | 显示全部楼层
应该是在创建数据集的时候,ID已经生成了,你设个断点跟下看看ID是什么
回复 支持 反对

使用道具 举报

发表于 2009-12-24 16:56:58 | 显示全部楼层
问题是,你这个数据集不在 InfoBroker所代理的信息里面吧
回复 支持 反对

使用道具 举报

发表于 2009-12-24 17:05:50 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-24 17:06:34 | 显示全部楼层
回复2楼:这个数据集是我动态创建的,没有ID。
回复3楼:应该怎么写???
回复 支持 反对

使用道具 举报

发表于 2009-12-24 17:20:08 | 显示全部楼层
在信息里面创建数据集
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-25 10:24:22 | 显示全部楼层
使用http://bbs.justep.com/forum.php?mod=viewthread&tid=19894
中四楼的方法解决。谢谢啦。结贴吧。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 06:08 , Processed in 0.039110 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表