| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 445 人关注过本帖
标题:请问数据ca类做好后如何调用
只看楼主 加入收藏
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:470
专家分:13
注 册:2014-1-16
结帖率:87.8%
收藏
已结贴  问题点数:20 回复次数:21 
请问数据ca类做好后如何调用
如题,我把每个数据表都做成数据环境+ca,可是经常出问题,现在我想直接做成ca类,可是不知如何调用


[此贴子已经被作者于2021-7-17 16:39编辑过]

搜索更多相关主题的帖子: 数据 调用 环境 数据表 
2021-07-17 16:36
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:470
专家分:13
注 册:2014-1-16
收藏
得分:0 
我把一个数据环境类放多个ca类表,打开一个表单,再打开另外一个表单,另一个表单居然找不到表了,是不是一个表单不能有多少数据环境啊
2021-07-17 16:48
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:470
专家分:13
注 册:2014-1-16
收藏
得分:0 
比如,我建好一个CA类,用如下代码:
PUBLIC ca_tt
lei=right(justpath(sys(16)),RAT("\",sys(16))-AT("\",sys(16))+2)+"\mylei.vcx"
SET CLASSLIB TO &lei ADDITIVE     
thisform.AddObject("ca_tt", "ca_1")
表单显示如下错误:对于此容器,对象类无效
2021-07-17 16:55
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:28
帖 子:601
专家分:2091
注 册:2011-5-8
收藏
得分:10 
错误信息说的很清楚了啊。CA不能作为表单的对象。
CA我几乎没有在实际的程序中用过CA对象是VFP最后的挣扎(8.0)时引入的,按帮助文件的说法,我理解是为了适用多数据源而用的,采集同一类数据时,不同人用不同的数据源提供,甚至是不同的格式。例如,收集人员数据,上报的内容是一样的,但大家不是填写到同一个数据库中,甚至有的用Excel,有的用DBF。不知道我理解的对不对?
它与表和视图不完全相同,从cursoradapter字面上理解,它和SQL Server的表似乎更接近。


[此贴子已经被作者于2021-7-17 17:13编辑过]


dBase有人接盘了。
2021-07-17 17:11
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:470
专家分:13
注 册:2014-1-16
收藏
得分:0 
PUBLIC ca_tt
lei=right(justpath(sys(16)),RAT("\",sys(16))-AT("\",sys(16))+2)+"\mylei.vcx"
SET CLASSLIB TO &lei ADDITIVE     
thisform.dataenvironment.AddObject("ca_tt", "ca_1")

这样调用,好像可以打开表了


[此贴子已经被作者于2021-7-17 17:19编辑过]

2021-07-17 17:16
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:470
专家分:13
注 册:2014-1-16
收藏
得分:0 
必须放在数据环境的BOFOREOPENTABLES事件里面,但是还是有个问题,就是CA类创建的表是共享的吗、如果在一个表单的私有环境下打开了,在另外一个表单私有环境有可能打不开吗?
2021-07-17 17:28
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:470
专家分:13
注 册:2014-1-16
收藏
得分:0 
ca调用尽出怪问题,先打开表单一,再打开表单二,正常。先打开表单二,再打开表单一,表单一的数据调用失败,用远程视图从未出问题

[此贴子已经被作者于2021-7-17 20:24编辑过]

2021-07-17 20:22
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:470
专家分:13
注 册:2014-1-16
收藏
得分:0 
ca有个好处是可以用requery()来刷新数据,如果用sPT的话,比如显示今天的数据,如果要改成显示昨天的数据,就要关闭表再打开,但是用CA 可以用requery()数据就更新了
2021-07-17 23:07
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:470
专家分:13
注 册:2014-1-16
收藏
得分:0 
急死人了,CA快把我弄疯了,我创建CA打开一个表单,同时在另外一个表单创建CA打开,就显示找不到表了
程序代码:
local 数据环境3
thisform.AddObject("数据环境3", "dataenvironment")
lei=right(justpath(sys(16)),RAT("\",sys(16))-AT("\",sys(16))+2)+"\lei_sj.vcx"
SET CLASSLIB TO &lei ADDITIVE 
WITH thisform.数据环境3
  .AddObject("ca_fy_mxtab3", "ca_fy_mxtab2")
  .AddObject("ca_fy_history1", "ca_fy_history")
ENDWITH
thisform.数据环境3.opentables


[此贴子已经被作者于2021-7-18 06:44编辑过]

2021-07-18 06:23
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:470
专家分:13
注 册:2014-1-16
收藏
得分:0 
同一个数据源只能创建一次CA类,这是怎么回事啊,难道只能回到远程视图了吗,不甘心啊
2021-07-18 06:28
快速回复:请问数据ca类做好后如何调用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052536 second(s), 8 queries.
Copyright©2004-2021, BCCN.NET, All Rights Reserved