首页 文章

如何使用Delphi ADO组件创建D-Base IV表?

提问于
浏览
1

我正在研究一种仪器的软件,该仪器将批处理结果记录到文件夹中的单个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示例但几乎总是处理现有的数据表 .

任何人都可以帮我创建一个样本DFB表文件,其中包含几个使用ADO组件的字段吗?我相信我可以在此基础上再接再厉 .

非常感谢 .

1 回答

  • 2

    使用TADOCommand并执行Create Table SQL,例如:

    Create Table Test (TestField1 char(64), TestField2 integer)
    

相关问题