我正在开发用于将批处理结果记录到文件夹中单个 DBase 4 (*.dbf) 磁盘文件的仪器的软件。为了准备添加新的日志分析功能,计划使用这些 DBF 文件中的多个,我正在更改现有的简单 BDE TTable 和 CreateTable,它们分别重新打开并创建一个新的 DBF 文件,以使用 Delphi ADO 组件。
在这里使用其他建议,我已经成功创建了一个测试应用程序,该应用程序使用以下核心代码使用 TAdoDataSet 和 TAdoConnection 打开现有 DBF 文件:
ADODataSet1.DisableControls;
try
S := ExtractFileDir( ParamStr(0) ); //set the dbf folder location here
ADOConnection1.LoginPrompt:=false;
ADOConnection1.ConnectionString:=Format('Provider=Microsoft.JET.OLEDB.4.0;Data Source=%s;Extended Properties=dBase IV;',[S]);
ADOConnection1.Connected:=True;
ADODataSet1.CommandText:='Select * from test.dbf'; //The SQL query uses the name of the dbf file
ADODataSet1.Open;
finally
AdoDataSet1.EnableControls;
end;
这很好用,但在第一次使用我的 DBF 之前,我还需要创建一个空的 DBF 文件来准备添加我的日志记录。我可以通过每次打开一个现有的“空”DBF 文件来做到这一点,但我希望有一个 SQL?如果我已经创建并定义了我的字段(这对我来说很容易),那么创建我的文件的方法。我用 TAdoTable 尝试了这个,我可以在其中创建所需的字段,但我找不到任何示例说明如何在没有任何内容的情况下将此表结构放到磁盘上,主要是因为 ADO 示例太多但几乎总是在现有的数据表。
任何人都可以帮我使用 ADO 组件创建一个包含几个字段的示例 DFB 表文件吗?我确信我可以在此基础上再接再厉。
非常感谢。