Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
经过一天两夜的初步学习,对FOX也有了一些初步的了解,作为财务工作者,因为我对数据的安全性、以及远程网操作有较高的要求,所以我对FOX+SQLserver的编程方式很感兴趣,也抱有很大的期望。关于这种方式下,有几个问题不太明白,所以请教一下狐狸老师。
(1)当在FOX中用代码的方式,或者在表上直接修改的方式,对外部数据表进行了编缉操作时(例如增加、删除、修改等),这种对外部表的修改是当时在SQL server中生效(即在SQL表中保存这种修改),还是需要作一个保存操作时(或者操作一个什么代码命令)才有效呢?其他编程语言与SQL server混合编程时,一般的惯例都是修改后直接在表中保存,否则会造成看到的表与数据库中的表间数据不一致,尤其是出现意外(如断电)时,后果就更为严重。
(2)接上题,我们都知道,SQL server对多用户网络环境(包括远程网),有着很好的支持,我的问题是,当有多用户(有些还可能是远程用户)共同操作同一个SQL server表时,FOX如何处理多用户同时操作?或者说,当某一用户对某表进行了编缉操作时,其他的用户在什么时间才能看到这种外部表中数据的变化?其实与第(1)个问题有一定的联系,就是第一个编缉表的用户在编缉后需要作什么操作才能写回到SQL表中,其他正在查看该外部表的用户需要什么操作才能查看到已经编缉过的最新的数据(而不是修改前的已经过时的数据)?!
(3)或许我现在提这个建议早了一点,我建议在FOX中能够支持直接执行SQL server的脚本,因为按照其他语言的惯例,一般都是把大量的对表的操作都是直接执行SQL server的脚本,这样既安全,效率又快,不需要工作站和服务器的表之间频繁交换数据,这在单机或者局域网中可能不太关键,但在远程网环境下是非常关键的对速度的影响甚至是致命的。
总之,我很希望我本人,以及其他的忠心用户,能够早日用FOX+SQL server设计出一个比较正规、规范的系统(说实话,受当时的设计思路影响,我总感觉用易表设计出的系统不像一个正规的系统,请贺老师不要介意),但如果我们认真规划,用FOX+SQL server设计出的系统,或许就和其他语言设计出的系统达到同样的档次!没有什么区别!所以我也期盼着贺老师多提供这方面的指导和支持!
(1)和(2)、在网络环境下,有可能你正在修改的数据,已经被其他人修改,为了得到最新版本的数据,可以使用同步功能。
同步按钮位于“日常工作”功能区“数据”功能组,这是一个组合按钮。
需要注意的是:
如果对方虽然修改了数据,但是并未保存,此时同步是没有作用的。同步不会覆盖你已经做出的修改,例如你在第一列输入A,对方在第二列输入B并保存,那么同步之后,第一列的内容为A,第二列的内容为B。
(3)利用SQLCommand类执行SQL命令。
表有保存的方法,这样你可以保存所有表或者单个表。
现在的保存只保存修改过的行,速度非常快。
帮助中有关于提高保存速度的说明。
Save
保存数据。
语法:
Save()
Save(Setting)
Setting: 可选参数,是否保存设置。
例如单单保存数据:
DataTables
("订单").Save()同时保存数据和设置:
DataTables
("订单").Save(True)保存设置比较耗时,会影响保存速度。
菜单中的保存命令是同时保存数据和设置的。
以后你学会了设计菜单或窗口,你可以自己设计一个保存按钮,只保存数据,不保存设置,代码如下:
For
Each dt As DataTable In DataTables对于一个成熟的、已经交付使用的项目,有时是没有必要保存设置的。