以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [灌水]珍惜生命远离关联! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3149) |
||||
-- 作者:听雪落的声音 -- 发布时间:2009/6/15 15:34:00 -- [灌水]珍惜生命远离关联! 两个表,父表5000多条记录,子表将近40000,每个表十几列,导入数据半个小时了,硬是没有反应。没办法,删除关联重新导入,大概花了十分钟。 然后重新建立关联,打开窗口,窗口中有一个datalist控件,然后又是十几分钟的等待,没有反应,删除关联,重新应用窗口,三秒左右打开。 额滴神啊!为啥差距咋恁大呢? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/6/15 15:43:00 -- 你有多少个关联啊?影响这么大? 可以考虑动态建立和删除关联。 关联和性能。
如果你追求极致的性能,或者觉得关联带来的影响已经严重拖累了系统性能,仅仅靠关闭双向关联还不足以解决这个问题,但是又离不开关联,毕竟关联是数据管理的基本功能,那么该怎么办呢?鱼和熊掌能够兼得吗?
实现步骤:
2、插入一个Table控件,绑定到订单表 3、窗口的AfterLoad事件设为:
If .Current Is Nothing Then Tables("订单").Filter = "False" Else Tables("订单").Filter = "产品编号 = " & .Current("产品编号") End IF End With
If e.Table.Current Is Nothing Then Tables("订单").Filter = "False" Else Tables("订单").Filter = "产品编号 = " & e.Table.Current("产品编号") End IF End If
Dim dr As DataRow = DataTables("产品").Find("产品编号 = " & e.DataRow("产品编号")) If dr IsNot nothing Then e.DataRow("单价") = dr("单价") End If End If
这个方案有一个不足:当我们将主表切换到订单表的时候,你会发现,什么也看不到,因为Tables("订单")被挪到产品表的窗口1了。
[此贴子已经被作者于2009-6-15 16:49:40编辑过]
|
||||
-- 作者:fox -- 发布时间:2009/6/15 15:46:00 -- 建议兄弟用一下 后台数据库自己的关联 ,比如SQL ACCESS 自己带的关联 比FOXTABLE的关联专业点 |
||||
-- 作者:yangming -- 发布时间:2009/6/15 15:48:00 -- 楼主是不是关联列比较多? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/6/15 15:48:00 -- 以下是引用fox在2009-6-15 15:46:00的发言:
建议兄弟用一下 后台数据库自己的关联 ,比如SQL ACCESS 自己带的关联 比FOXTABLE的关联专业点
[此贴子已经被作者于2009-6-15 15:48:28编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2009/6/15 16:05:00 -- 是呀,有时就是不知道什么原因,我原来生成总帐的一个按钮,一般情况下5-10秒内就能生成,但有好几次要用1、2分钟,最长用了我5分钟生成完总帐,全是内部表。可最近又特神了,1、2秒中就可以生成了!~ 主要的代码基本没有修改(原来的)。原因可能有两个: 1、是狐表性能提高了; 2、是使用了压缩功能。其他就不知道为什么了!!! |
||||
-- 作者:blackzhu -- 发布时间:2009/6/15 16:32:00 -- 关联的替代,会不会影响做在报表和表中表达式? |
||||
-- 作者:mr725 -- 发布时间:2009/6/15 16:35:00 -- 2楼的例子 连关联列在子表(或窗口)中也可以修改? 这个成问题了,最少要给个提示,如:你真想修改关联列数据吗? 不然会找不到这个关联了。。。。 |
||||
-- 作者:blackzhu -- 发布时间:2009/6/15 16:42:00 -- 我想我的问题也是不行的.没有关联我那个表达式不起作用啊! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/6/15 16:45:00 -- 以下是引用blackzhu在2009-6-15 16:42:00的发言:
我想我的问题也是不行的.没有关联我那个表达式不起作用啊!
|