Visual foxpro Visual foxpro与select命令冲突

Visual foxpro Visual foxpro与select命令冲突,visual-foxpro,dbf,Visual Foxpro,Dbf,我目前正在编写一个用VisualFoxpro9编写的旧程序,这是我第一次面对这种语言。 程序中有一个名为start.prg的文件,其中包含将从其余文件调用的所有过程。特别是,有一些过程可以初始化与.dbf文件的连接,下面是一个示例: procedure a select 1 use parkoft exclusive // some actions with parkoft 在网上阅读时,我发现VisualFoxpro有一些类似于sql的命令。 所以,我想,选择就是要选择的字段。

我目前正在编写一个用VisualFoxpro9编写的旧程序,这是我第一次面对这种语言。 程序中有一个名为start.prg的文件,其中包含将从其余文件调用的所有过程。特别是,有一些过程可以初始化与.dbf文件的连接,下面是一个示例:

 procedure a 
 select 1 
 use parkoft exclusive 
 // some actions with parkoft
在网上阅读时,我发现VisualFoxpro有一些类似于sql的命令。 所以,我想,选择就是要选择的字段。 但是在这个start.prg中,大约有100个程序与上面描述的类似。但每个过程都有一个select N,其中N是渐进的。最后一个程序:

 procedure last
 select 50 
 use vendxcli shared 
 // actions 
特别是,我注意到,当两个过程使用相同的select N时,use命令引用相同的.dbf文件select 50->use vendxcli。 这让我觉得N和桌子有关

因此,我创建了一个dbf文件。我在.pjx中添加了该文件,并在start.prg中编写了另一个过程:

 procedure Nuova
 select 99 
 use oldsell wxclusive 
 // actions with oldsell 
但是,当我使用这个过程时,这个程序从其他现有的表中获取数据。 我做错了什么? select N命令是什么意思


如果你需要一些其他信息来帮助我,请询问你需要的一切

是,“在0中使用tableName”是“选择0”的快捷方式,后跟“使用tableName”

差不多,但不完全一样

选择0

使用表名

。。。使tableName成为选定的表,而

在0中使用tableName


。。。不更改当前选择的工作区。

SELECT选择一个工作区,基本上是一个文件句柄。它与SQL SELECT语句无关。选择1表示选择工作区1,使用ParkSoft exclusive表示在该工作区顶部打开ParkSoft数据库以供独占使用而非共享。@Ken White表示如果我选择工作区99,则该工作区应为空工作区,而不是冲突的原因。或者我应该选择下一个自由工作区?在这种情况下,我对你的代码或冲突一无所知。你问select N命令是什么意思,我解释了。当你选择work area 99时,它并不意味着它应该是一个空白区域。它可能是空的,如果不是,那么您正在关闭已经打开的光标并打开一个新的光标。这种类型的Select N用法非常危险,从不推荐使用。如果要选择空白区域,请使用“选择0”。0表示选择第一个空的工作区。使用别名代替工作区编号来表示安全的工作区。@Cetin Basoz现在我在0中找到了use表。这个命令和你说的类似吗?别名->表格,工作区->第一个空