起步软件技术论坛-X3

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

【结贴】如何在BizTreeview里通过所选数据表取到其所属数据表的ID?**

[复制链接]
发表于 2008-11-24 10:08:10 | 显示全部楼层 |阅读模式
参照http://bbs.justep.com/forum.php? ... 的ID。procedure TMainForm.Button1Click(Sender: TObject);
var
  lSQLDataSet:TSQLDataSet;
  lBizNode: TBizNode;
begin
  lBizNode:=BizTreeView1.Selected.Data as TBizNode;
  if  lBizNode.NodeKind<>TbizObjectKind.boTable then exit;

  lSQLDataSet := BizSys.BizSystem.GetItem(lBizNode.BizURL) as TSQLDataSet;

  memo1.Lines.Add(lSQLDataSet.ID);
  memo1.Lines.Add(lSQLDataSet.Database.URL);
end;
结果出现错误:对象"Biz:\CHXZAPPSPACE\CHXZAPPDATABASE.DATABASE\JSJD_N_JIANJIN10.Table"不存在,请问如何取得数据表ID和数据库。
回复

使用道具 举报

发表于 2008-11-24 10:32:59 | 显示全部楼层
请问 lSQLDataSet  这个值是啥?贴出来看看
另外,这个错误提示是在执行哪句报出来的?
回复 支持 反对

使用道具 举报

发表于 2008-11-24 10:43:07 | 显示全部楼层
procedure TMainForm.Button3Click(Sender: TObject);
var
  lSQLDataSet:TSQLDataSet;
// lBizNode: TBizNode;
tmp:TBizTableDef;
lURL: TBizURL;
begin
  lURL := TBizURL.Create;
  lURL.URL:='Biz:\OPERATION\OPERATIONDB.DATABASE\CRM_PRODUCTMODULE.TABLE';


   tmp:= BizSys.BizSystem.GetBizObject(lURL) as TBizTableDef;

   Button3.Caption:= (tmp.DisplayName);
lURL .free;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-24 10:45:23 | 显示全部楼层
http://bbs.justep.com/forum.php?mod=viewthread&tid=3875
和上面连接一样的例子,我只是稍微改动了一点儿。
出错在lSQLDataSet := BizSys.BizSystem.GetItem(lBizNode.BizURL) as TSQLDataSet;这句上
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-24 10:55:57 | 显示全部楼层
行了搞定了。
用BizSys.BizSystem.GetBizObject好使,BizSys.BizSystem.GetItem不好使
回复 支持 反对

使用道具 举报

发表于 2010-9-21 12:43:49 | 显示全部楼层

TContext类

在TContext类中,有两个方法
function GetItem(AURL: TBizURL): Business.System.TComponent;
function GetBizObject(AClass: TBizClassURL): TBizObject;
他们区别和相同之处是什么?
回复 支持 反对

使用道具 举报

发表于 2010-9-21 13:36:12 | 显示全部楼层
alang

[Justep Admin]


来自:
金钱:4294967295
发帖数: 10003
注册日期: 2004-03-24


No.2  对象缓冲池
业务对象TBizObject都是生存在一定的环境中,在环境中可以用以下函数查找或者创建业务对象或者控件
  FindBizObject 在环境中查找AClass的业务对象(比如查找窗体、查找信息等)
  FindItem 在环境中查找AURL的控件(比如查找业务参数、业务元素等)
  GetBizObject 在环境中查找AClass的业务对象,如果没有就在环境中创建这个对象
  GetItem 在环境中查找AURL的控件,如果没有就在环境中创建这个控件
  GetBizObjectEx通过环境在指定的隔离级AIsolationLevel查找AURL的控件,如果没有就在环境中创建这个控件

可以通过环境的保护protected属性得到BizObjectPoolCount缓冲池中的对象个数,BizObjectPool得到每一个对象,因为这些方法都是保护的方法,实际只能用上面提到的方法来获取缓冲池中的业务对象
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-7 04:55 , Processed in 0.064341 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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