我正在处理旧版桌面应用程序。它是使用Alaska软件的Xbase ++编写的。我只是想向现有的db文件中添加一个新字段,但是找不到有关如何执行此操作的任何文档。
我看过 https://harbour.github.io/doc/,http://www.ousob.com/ng/clguide/index.php, https://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
答案 0 :(得分:1)
过去,我们使用dBase或Clipper打开表,将结构复制到新表中:
使用dbFile 扩展到tempFile的复制结构
在新表中,每一行都是原始表中的一个字段。您追加一个新字段并填写字段名称,数据类型,字段长度,否。小数点等。
然后使用临时文件,创建一个新的数据库文件,并将记录从旧数据库附加到该文件中:
从tempFile创建newFile 使用newFile 从dbFile追加
最后,您需要重命名旧文件,然后将新文件重命名为该名称并重新创建任何索引。