0

我正在开发旧版桌面应用程序。它是使用 Alaska 软件的 Xbase++ 编写的。我只是想向现有的 db 文件添加一个新字段,但我找不到任何有关如何执行此操作的文档。

我看过 https://harbour.github.io/doc/http://www.ousob.com/ng/clguide/index.phphttps://en.wikibooks.org/wiki/Clipper_Tutorial:_a_Guide_to_Open_Source_Clipper (s) , http://www.alaska-software.com/support/kbase-old.cxp没有任何运气。记录的所有内容都是关于从头开始创建一个新的 db 文件。甚至可以修改数据库文件结构吗?

cFieldExist := .f.

FOR nField := 1 TO (oDbfMaster:ProType)->( FCount() )
    IF (oDbfMaster:ProType)->( FieldName( nField ) ) == 'newFieldName'
        cFieldExist  := .t.
    ENDIF   
NEXT

IF !cFieldExist  
    //Please help me here, I want to add a the new field 'newFieldName'
ENDIF
4

1 回答 1

1

在过去,我们使用 dBase 或 Clipper 打开表,将结构复制到新表:

使用 dbFile 复制结构扩展到 tempFile

在新表中,每一行都是原始表中的一个字段。您追加一个新字段并填写字段名称、数据类型、字段长度、编号。小数等

然后使用临时文件,创建一个新的数据库文件并将记录从旧数据库附加到其中:

CREATE newFile FROM tempFile USE newFile APPEND FROM dbFile

最后,您需要重命名旧文件,然后将新文件重命名为该名称并重新创建任何索引。

于 2019-01-25T18:24:01.720 回答