易表在线答疑技术与交流用户社区 → 网络环境下重复编号问题之我见


  共有10076人关注过本帖树形打印复制链接

主题:网络环境下重复编号问题之我见

帅哥哟,离线,有人找我吗?
dairh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:24 积分:0 威望:0 精华:0 注册:2006/8/21 16:21:00
网络环境下重复编号问题之我见  发帖心情 Post By:2006/10/20 11:14:00 [只看该作者]

我的操作:将主文件存于服务器,客户机用的是操作界面。操作时,将要操作的表从服务器文件中调入正在操作的文件中的临时表,输入完一条数据后立即存入服务器文件并删除临时表,还要操作时再从服务器中取数,这样所有人的数据都是最新的,不会存在重复编号。问题是,每次都要全部IMPORT数据,量大的话,速度成问题。

-=-=-=- 以下内容由 dairh2006年10月20日 11:17am 时添加 -=-=-=-
昨天我向教师们请教了如何只提取服务器文件中的该表的最大号,未能得到解决,不知哪位高手可不吝赐教。这样可不用每次全部IMPORT。

-=-=-=- 以下内容由 dairh2006年10月20日 11:18am 时添加 -=-=-=-
还有一个好处,客户机不用担心没有存盘问题,因为所有数据都在服务器文件中,本机都是临时数据。

 回到顶部
帅哥哟,离线,有人找我吗?
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:2062 积分:20 威望:0 精华:0 注册:2006/8/11 10:51:00
  发帖心情 Post By:2006/10/20 11:26:00 [只看该作者]

关于网络环境下重复编号问题,在老论坛有不少贴子,我没有在网络使用服务器的经验,帮不上忙了,只有帮你顶一下吧

 回到顶部
帅哥哟,离线,有人找我吗?
gdxhq
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:职业侠客 帖子:497 积分:89 威望:0 精华:0 注册:2006/8/13 16:15:00
  发帖心情 Post By:2006/10/20 12:20:00 [只看该作者]

如果单独从设计上来说,局域网中使用易表是没有什么问题,关键是速度,就如你讲的,每增加或减少一条记录就要相应存盘一次,另外的机子在执行命令时也需要存盘一次,一旦文件数据大了,易表数据文件存盘时间就长了,不利于操作。
如果是不要即时打印出来的话,可以系统暂编一个号,存盘后统一整理,同样在打印前就必须先存盘整理数据,再进行打印,以保证打出来的编号和数据库内的是统一的,关键是易表对其他文件进行操作的函数比较少,稍微复杂一点就要先调用数据到当前文件才好进一步操作。所以界面和数据分开其实也挺麻烦的,我个人的建议是从现在的存盘方式和系统本身的特点来看,还是以一个文件为主来操作数据比较好,系统也好编一点,定时对数据进行转移到储存数据的文件,这样不仅保证了速度,更重要的是也保证了安全。

 回到顶部
帅哥哟,离线,有人找我吗?
痴人
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:101 积分:0 威望:0 精华:0 注册:2006/8/13 12:44:00
  发帖心情 Post By:2006/10/20 14:33:00 [只看该作者]

我也是按这种思路做系统的,但我不是全部IMPORT数据而是按需要提取数据的,但我还没有实际应用,我想速度会有点问题,但不至于会太慢了吧,因为我公司以前用FoxPro做的系统,但使用一年后速度也同样会慢的!我公司每年都有2至3万条信息要储存的!

 回到顶部
帅哥哟,离线,有人找我吗?
dairh
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:24 积分:0 威望:0 精华:0 注册:2006/8/21 16:21:00
  发帖心情 Post By:2006/10/20 14:39:00 [只看该作者]

那样更不好操作。我的意思是说,因为对于数据的编号,是一种实质意义上的,比如说发文,不同类型类别的文件分别有个顺序号,但整个单位的同类型类别的编号是按顺序的,像我们单位一年有12种报告类型,5000号左右的报告,几个部门同时都在编,如果每增加一条记录存盘一次,速度是很慢的(一条记录有60多个的字段),所以我把它分成客户文件和服务器文件,客户文件增加一条记录后,就存入服务器文件,再从服务器文件中调入到客户文件,来决定目前时最新的编号(如果能够实现从服务器文件中提取各类型的最大报告号,则存盘操作每次只有一条记录,取数操作每次只有各类型报告的最大号,对我来说,就是只有12条,这样速度就快了)。
另外一个问题,就是夏天时,经常断电,因为客户文件的操作是独立的,与服务器文件无关,也不会存在丢失数据问题。
我现在的难题是Maxfor只针对当前打开的文件有效,没法对未打开的文件操作。只有在增加记录前调入服务器中该表的所有数据,速度就慢了。但编号不连续问题可以解决。

-=-=-=- 以下内容由 dairh2006年10月20日 02:41pm 时添加 -=-=-=-
4楼的朋友,我也不想全部IMPORT,可我找不出函数来IMPORT最大号,你可有好办法,分享一下?

 回到顶部
帅哥哟,离线,有人找我吗?
ylm
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:2320 积分:350 威望:0 精华:0 注册:2006/8/11 10:55:00
  发帖心情 Post By:2006/10/20 16:42:00 [只看该作者]

没法取最大号,就算可以取最大号,也不能保证不重号

试想,多人同时录入:假如当前服务器上最大号是100
A用户取最大号100+1与此同时B用户刚好同时也取大号100+1,后果就是重号了.


 回到顶部
帅哥哟,离线,有人找我吗?
痴人
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:101 积分:0 威望:0 精华:0 注册:2006/8/13 12:44:00
  发帖心情 Post By:2006/10/20 17:48:00 [只看该作者]

5楼的朋友你能把文件发上来看一下吗?

-=-=-=- 以下内容由 痴人2006年10月20日 05:54pm 时添加 -=-=-=-
我们公司是按:先编好号,再按编的号自动生成新的编号,每个编号都各自不同,那么调出来后就不存在同号了,但如果要更改其中一条的话也只需要重新编过再存入(当然在服务器上的文件也做好了自动设置-即间隔一断时间自动处理文件)!但要看你公司的情况定,因为隔行如隔山嘛!

 回到顶部
帅哥哟,离线,有人找我吗?
tzszw
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/10/21 18:14:00 [只看该作者]

我的建议:
   我们也是几个人同时录入,遇到这个问题也是比较烦,但后来,我用各人代号+流水号做个临时编号,即A100,B101,C102(A\B\C分别对应三个用户).这样到最后再将ABC都用BH替代一下(设个正式编号列)就成了BH100\BH101\BH102了,用了一段时间没问题了

 回到顶部
帅哥哟,离线,有人找我吗?
ylm
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:2320 积分:350 威望:0 精华:0 注册:2006/8/11 10:55:00
  发帖心情 Post By:2006/10/21 19:36:00 [只看该作者]

俺目前有二种做法:

1,对于必须打印出来的编号:如入库单等等编号,用流水号加用户代码直接使用了:
RK00001-A
RK00002-B
RK00002-A
...
2,对于仅仅是为了唯一关联号,干脆用:UKey()+UKey()省事.


 回到顶部