跳转到内容

使用 Harbour 进行应用程序开发/数据库连接

来自维基教科书,开放的书籍,开放的世界

如何创建和填充 DBF 文件

[编辑 | 编辑源代码]

步骤 1:创建一个名为 DbTests.prg 的文件

步骤 2:在 DbTests.prg 文件中写入以下代码

PROCEDURE Main()
? "DbTests"
CREATE testdbstructure
RETURN

步骤 3:编译并运行 DbTests.prg

这段 Clipper 代码在屏幕上显示一条消息,并创建一个名为 testdbstructure 的新数据库结构文件 - 您应该会看到在与 DbTests.prg 相同的目录中创建了一个 testdbstructure.dbf 文件,这个 DBF 文件是描述其他 dbf 文件的列名的行。

testdbstructure 的列是 FIELD_NAME、FIELD_TYPE、FIELD_LEN、FIELD_DEC。

步骤 4:创建 3 行,其中包含 FIELD_NAME、FIELD_TYPE、FIELD_LEN、FIELD_DEC,然后关闭当前 dbf 文件。

PROCEDURE Main()
? "DbTests"
CREATE testdbstructure
APPEND BLANK
FIELD->FIELD_NAME := "ContactId"
FIELD->FIELD_TYPE := "N"
FIELD->FIELD_LEN  := 2
FIELD->FIELD_DEC  := 0
APPEND BLANK
FIELD->FIELD_NAME := "Name"
FIELD->FIELD_TYPE := "C"
FIELD->FIELD_LEN  := 20
FIELD->FIELD_DEC  := 0
APPEND BLANK
FIELD->FIELD_NAME := "Email"
FIELD->FIELD_TYPE := "C"
FIELD->FIELD_LEN  := 20
FIELD->FIELD_DEC  := 0
CLOSE
RETURN

这段代码使用 APPEND BLANK 命令向表中添加三个新的空白记录。

这段代码然后使用 "->" 运算符访问表中的字段并定义字段值。例如,命令 "FIELD->FIELD_NAME := "ContactId"" 将第一条记录的 "FIELD_NAME" 字段的值设置为 "ContactId"。另外两个命令定义了剩余记录中 "Name" 和 "Email" 字段的值。

最后,"Main" 过程以 "CLOSE" 命令结束,该命令关闭表,然后以 "RETURN" 命令结束,该命令将控制权返回给调用它的主程序或过程。

提示:要查看 DBF 文件的内容,可以使用 GNumeric (http://www.gnumeric.org/) 或 LibreOffice Calc (http://www.libreoffice.org/) - 大多数电子表格程序支持 DBF 文件。

步骤 5:根据 testdbstructure.dbf 创建一个名为 contacts.dbf 的 dbf 文件。现在 contacts.dbf 的列是 testdbstructure.dbf 的 FIELD_NAME 行。然后在 Contacts.dbf 中输入一些测试数据。

PROCEDURE Main()
? "DbTests"
CREATE testdbstructure
APPEND BLANK
FIELD->FIELD_NAME := "ContactId"
FIELD->FIELD_TYPE := "N"
FIELD->FIELD_LEN  := 2
FIELD->FIELD_DEC  := 0
APPEND BLANK
FIELD->FIELD_NAME := "Name"
FIELD->FIELD_TYPE := "C"
FIELD->FIELD_LEN  := 20
FIELD->FIELD_DEC  := 0
APPEND BLANK
FIELD->FIELD_NAME := "Email"
FIELD->FIELD_TYPE := "C"
FIELD->FIELD_LEN  := 20
FIELD->FIELD_DEC  := 0
CLOSE
CREATE Contacts FROM testdbstructure
APPEND BLANK
REPLACE ContactId WITH 1
REPLACE Name WITH "Peter Smith"
REPLACE Email WITH "[email protected]"
APPEND BLANK
REPLACE ContactId WITH 2
REPLACE Name WITH "Michael Jones" 
REPLACE Email WITH "[email protected]"
RETURN

使用 LibreOffice Calc 打开并查看 Contacts.dbf 文件的内容。

RDD 和数据库连接

[编辑 | 编辑源代码]

https://harbourlanguage.blogspot.com/2010/06/understanding-harbour-rdd.html

华夏公益教科书