以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  C版请进,请教一下利用快盘更新数据的方法?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13278)

--  作者:pyh6918
--  发布时间:2011/10/7 10:40:00
--  C版请进,请教一下利用快盘更新数据的方法?

前两天看到C版提到可用快盘更新数据,就试了一下。发现:

1、可利用共享文件的方法避免文件被恶意删除;

2、更新是整个文件更新,不是对某条数据进行更新;

 

我有个项目,采用外部数据源,其中包含“单位”字段。

我有若干个下级单位,根据“单位”字段的内容可编辑自己单位的记录。

也就是不存在多单位编辑一条记录的现象。

 

问题:

1、如何在打开项目前保证快盘已打开,使数据保持最新;或打开项目后再启动快盘,再更新数据?

2、A、B两单位同时登陆系统,此时数据相同,并各自编辑自己的数据。后上报的单位能否覆盖掉先上报的单位数据?

多谢!


--  作者:czy
--  发布时间:2011/10/7 12:37:00
--  

问题1、可以在Initialize事件中用Process来打开快盘
如果快盘没有打开,它会自动打开,如果已经打开则打开快盘文件夹

 

2、不会被覆盖


--  作者:pyh6918
--  发布时间:2011/10/7 12:43:00
--  

多谢!

如果快盘不能顺利打开,能否阻止foxtable项目打开。

也就是有没有判断快盘是否已经打开的方法?


--  作者:czy
--  发布时间:2011/10/7 12:44:00
--  

补充:

如果想得到最新数据,比如A用户保存后,B用户即时同步数据,可以返回该文件的最后修改时间,如果最后修改时间有变动则自动同步。

获取最后修改文件时间可以参考下面的代码。

Dim f As Io.FileInfo = FileSys.GetFileInfo("外部数据路径")
Output.show("最近一次修改时间:" & f.LastWriteTime)

不过快盘不适合大数据量的传输


--  作者:pyh6918
--  发布时间:2011/10/7 13:01:00
--  

多谢!

如果快盘不能顺利打开,能否阻止foxtable项目打开。

也就是有没有判断快盘是否已经打开的方法?


--  作者:pyh6918
--  发布时间:2011/10/7 13:03:00
--  

我的数据量不大。总行数1000行。

大的单位100行,小单位10几行。


--  作者:czy
--  发布时间:2011/10/7 13:11:00
--  
以下是引用pyh6918在2011-10-7 12:43:00的发言:

多谢!

如果快盘不能顺利打开,能否阻止foxtable项目打开。

也就是有没有判断快盘是否已经打开的方法?

 

用Process打开快盘程序,肯定是不能判断这么精确的。

如果判断进程应该是可行的,不过这样的代码我不会。


--  作者:pyh6918
--  发布时间:2011/10/7 13:18:00
--  
谢谢C版!