以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  查询效率问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=46291)

--  作者:998168
--  发布时间:2014/2/20 13:59:00
--  查询效率问题
 各位,假定我有个外部SQL sever 数据源的表A,在狐表里创建了外部表,同时也加载了所有数据,请问用什么方法可以使得外部表A要是有数据变动了的话,狐表中表A就重新加载变动的数据呢?(注意只是要求加载变动的数据行而已) 

--  作者:Bin
--  发布时间:2014/2/20 14:05:00
--  
没有办法.
--  作者:blackzhu
--  发布时间:2014/2/20 14:10:00
--  

LoadPhysicalValue

一般用户可以忽略此节内容。

在多用户环境下,如果其他人已经修改并保存此行,我们可以执行Load方法,将后台的最新数据加载到行中,覆盖现有数据。
如果不想影响行的当前数据,却想获得后台数据,就只能通过LoadPhysicalValue方法,此方法会返回一个字典,包括各列的后台值。

LoadPhysicalValue和Load一样,都是较为费时的方法,所以不适合用在DrawCell这样频繁执行的事件中。

示例

获得并显示订单表选定行的后台值:

Dim dr As DataRow = Tables("订单").Current.DataRow \'取得当前行的DataRow
Dim
dic As Dictionary(of String,Object)= dr.LoadPhysicalValue \'加载后台值
For Each
key As String In dic.Keys
    Output.Show(Key &
":" & dic(key))
Next


--  作者:998168
--  发布时间:2014/2/20 14:14:00
--  
那是不是说明狐表软件没其它的软件的强呢?!其它软件就可以有这种用法,而且查询速度也相当快的呢!
--  作者:Bin
--  发布时间:2014/2/20 14:19:00
--  
关键在于,你检测那个值更新了耗费资源.   还不如分页加载,直接点击刷新加载当前页数据.
--  作者:wuxianzuoji41
--  发布时间:2014/2/20 16:11:00
--  
以下是引用Bin在2014-2-20 14:19:00的发言:
关键在于,你检测那个值更新了耗费资源.   还不如分页加载,直接点击刷新加载当前页数据.

bin,可以这样吗,服务器断写个狐表,一直不停的检测,检测到SQL变动发给客户端狐表。这样所有的客户端不用检测了,


--  作者:Bin
--  发布时间:2014/2/20 16:14:00
--  
那你得懂SOCKET通讯. 操作起来对你来说不简单.