使用Delphi将文本文件加载到MS ACCESS TABLE中

时间:2011-10-21 00:52:36

标签: sql delphi ms-access

我在尝试使用Delphi将制表符分隔的文本文件加载到MS ACCESS数据库表时遇到了一些问题。

到目前为止,我已经能够创建一个新的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 *'部分有关,将所有字段作为一个下划线分隔字符串返回。

我一直在谷歌上搜索寻找答案,但还没有找到任何答案。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

建议:尝试删除insert部分,只留下select * from...部分,例如

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

使用此修订的SQL语句打开记录集对象。如果成功,请检查记录集的Fields集合:即返回的列数,名称,序数位置等。

希望这可以确定问题是从文本文件中获取数据还是使用插入操作。

P.S。如果您还没有,请考虑使用schema.ini文件来更好地控制Access如何根据列及其数据类型“看到”文本文件的数据。