我必須在我的Delphi應用程序中創建dbf文件。Delphi ADODB創建dbf表
對於這種情況我使用ADODB。
連接字符串:
const
ConnStringDBF =
'Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=%s;';
//'Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBASE III;OLE DB Services=-1;Data Source=%s;';
//'Driver={Microsoft Visual Foxpro Driver};SourceType=DBF;SourceDB=%s;';
//Driver='Microsoft.ACE.OLEDB.12.0;Data Source=%s;';
和程序(其沒有按工作):
procedure InsertRecordInDBF(file_name: string; DbfRecord: TDbfRecord);
var
ADOConnDBF : TADOConnection;
ADOCommand : TADOCommand;
begin
ADOConnDBF := TADOConnection.Create(nil);
ADOConnDBF.ConnectionString := Format(ConnStringDBF, [data_dir]);
ADOCommand := TADOCommand.Create(nil);
ADOCommand.Connection := ADOConnDBF;
ADOCommand.CommandText := 'Create Table ' + file_name + ' ('
+ 'NUMBER CHAR(11)'
+ ')'
;
ADOCommand.Execute;
end;
錯誤是:
凸起異常類EOleException與消息「[微軟] [ДрайверODBC dBase]Ошибкасинтаксисаприопределенииполя'。
這意味着:俄語翻譯中的語法錯誤。
但這CommandText中完美的作品:
ADOCommand.CommandText := 'Create Table ' + file_name + ' ('
+ 'NUMBER_ CHAR(11)'
+ ')'
;
領域(Number_,而不是數)的名稱的差異
如何創建表場數?
也許我需要不同的連接字符串?
謝謝您的建議 –