回 帖 发 新 帖 刷新版面

主题:数据库、数据库表、自由表、工作区问题

VF最多允许同时打开多少个自由表?
VF最多允许同时打开多少个自由表和数据库表?
VF最多允许同时打开多少个数据库?
一个工作区只能打开一个数据库文件,那么同时打开多个数据库,他们分属哪些工作区呢?
有A、B、C三个数据库,依次都打开,他们分属于哪几个工作区,工作区的名字分别是什么?C数据库比如说有三个表,如果同时打开这三个表,怎么实现?这三个表又会位于哪几个工作区呢?
问题有点多,不过基本上都是同一类型的,有高手好心帮一下初学者么?谢谢,半夜了还在苦想这个问题。。。

回复列表 (共4个回复)

沙发

这些问题,在VFP的帮助文档中有介绍:
[quote]有些容量可能受到可用内存和磁盘空间的限制。
一次同时打开的表的最大数目:   65,535

在 Visual FoxPro 中,可以在 32,767 个工作区中打开和操作表。

Visual FoxPro 指派给前 10 个工作区的默认别名是工作区字母“A”到“J”。指派给 11 到 32,767 工作区的别名是 W11 到 W32767。可以用与任何其他默认或自定义别名同样的方式使用这些默认别名引用工作区中打开的表。[/quote]
工作区,是相对于表而言,而不是相对于数据库。

要知道某个已打开的表在哪个工作区,可以使用select("表名")函数。

板凳

一般说,一个应用程序或大的应用,只对应一个数据库,数据库间关联不大,如果某几个数据库存在千丝万缕的联系,就干脆把它们合并成一个数据库得了.没必要搞得这么复杂.脑细胞要消耗,但也不能做太多无谓的消耗.
脑细胞虽多,也是不可再生资源,切记节俭使用.
同时可以打开多少数据表不知道,只知道VFP系统提供了足够我的工作区,保证足够用.除非你的应用过于变态.

3 楼

表与工作区,我清楚,我是在问有关数据库与工作区的问题。
我同时打开两个数据库,不管哪个在当前,所属工作区都是A,而且另一个也不个也不会关闭,这不是一个工作区打开了两个数据库么?而表呢,在打开新表的时候,旧表就会关闭。

4 楼

没听说过“有关数据库与工作区的问题。”

你怎么知道所属工作区是A?用select( )函数检测到的吗?

数据库与工作区应该是无关的。工作区只是用来放数据表的。
你在同一个工作区里先后打开表,一个工作区只能放一张表,当然就会先关闭前表,再打开后表了。
使用use 表 in 0便能自动在空白的工作区中打开表而不会影响其他工作区了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册