2011-10-21 53 views
0

我試圖使用Delphi將製表符分隔的文本文件加載到MS ACCESS數據庫表中。使用Delphi將文本文件加載到MS ACCESS TABLE中

到目前爲止,我已經能夠創建一個新的Access數據庫和表,但是當我嘗試和我得到消息的EOLeException加載數據:

「INSERT INTO語句包含以下未知的字段名稱: 「FIELD1_FIELD2_FIELD3 _...」

我的代碼如下:

cs := 'insert into TABLENAME(FIELD1, FIELD2, FIELD3, FIELD4, FIELD5, FIELD6, FIELD7,  FIELD8, FIELD9, FIELD10, FIELD11, FIELD12, FIELD13, FIELD14, FIELD15) select * from [FILENAME.txt] in "' + EditJobLocation.Text + '" "Text;HDR=Yes"'; 
ADOCommand2.CommandText := cs; 
try 
    ADOCommand2.Execute; 
etc... 

不知道是什麼問題,但我認爲這與做「SELECT *」的一部分返回的所有字段作爲一個下劃線分隔字符串。

我一直在搜索,試圖找到一些答案,但還沒有找到任何東西。

任何幫助將不勝感激。

+0

如果「select *」看起來是問題,那麼顯而易見的問題是:您是否已經嘗試過「select field1,field2,...」而不是? –

+1

不考慮FILENAME.txt的內容,最初2-3行很難提供幫助。 –

回答

0

建議:嘗試刪除insert部分,只留下select * from...部分,例如,

cs := 'select * from [FILENAME.txt] in "' + EditJobLocation.Text + '" "Text;HDR=Yes"'; 

使用此修訂的SQL語句打開記錄集對象。如果成功,請檢查記錄集的Fields集合:即返回的列數,它們的名稱,它們的序號位置等。

希望這可以確定問題是從文本文件中提取數據還是與插入操作。

p.s.如果您已經不熟悉,請使用schema.ini文件來更好地控制Access如何根據列及其數據類型「查看」文本文件的數據。

相關問題