バッチ結果をフォルダ内の単一のDBase4(* .dbf)ディスクファイルに記録する機器のソフトウェアに取り組んでいます。これらの複数のDBFファイルで動作するように計画されている新しいロギング分析機能を追加する準備として、DelphiADOコンポーネントを使用するためにそれぞれ新しいDBFファイルを再度開いて作成する既存の単純なBDETTableとCreateTableを変更します。
SOで他の提案を使用して、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テーブルファイルを作成するのを手伝ってくれる人はいますか?そうすれば、それを基に構築できると確信しています。
どうもありがとう。