Sql 是否在另一个查询中使用TADOQuery?

Sql 是否在另一个查询中使用TADOQuery?,sql,delphi,ms-access,csv,ado,Sql,Delphi,Ms Access,Csv,Ado,使用Delphi2009。我有一个到文件夹的TADOConnection,其中包含一个csv文件和一个从csv文件中提取数据的TADOQuery(称之为TADOQueryCSV)。这样行 我还有一个到Access数据库的第二个TADOConnection,它有一个名为AccessTbl_TEMP的表和处理其中数据的各种TadoQuery。它们工作正常 现在我想处理TADOQueryCSV返回的数据,并将其插入Access数据库的表中。但是如何引用从csv文件返回的数据呢 我需要这样的东西,但不知

使用Delphi2009。我有一个到文件夹的TADOConnection,其中包含一个csv文件和一个从csv文件中提取数据的TADOQuery(称之为TADOQueryCSV)。这样行

我还有一个到Access数据库的第二个TADOConnection,它有一个名为AccessTbl_TEMP的表和处理其中数据的各种TadoQuery。它们工作正常

现在我想处理TADOQueryCSV返回的数据,并将其插入Access数据库的表中。但是如何引用从csv文件返回的数据呢

我需要这样的东西,但不知道如何写FROM子句

插入AccessTbl_TEMP(字段1、字段2) 选择csvField1、csvField2 从…起
塔多奎尔奇

您必须使用MS Access链接表,其中链接表将指向CSV文件。

您可以在Delphi的代码中移动数据。dsSource是TADOQueryCSV,dsTarget是表AccessTbl_TEMP

dsSource.First;
while not dsSource.Eof do
begin
    dsTarget.Append;
    // Assign field values from dsSource to dsTarget
    dsTarget.Post;
    dsSource.Next;
end;

这就是我目前所做的。我试图摆脱MSAccess表链接的麻烦(特别是安装在客户机器上时),在delphi中完成这一切,让access数据库只是一个数据库。很快,我想放弃访问权限,使用firebird或其他更好的工具,因此需要delphi来进行处理。然后,您可以将数据移动到临时表中,然后在查询中使用它的内容。但这会减慢整个操作的速度。您可以在FROM子句中使用in运算符包含connect字符串。确切的语法将取决于您的详细信息,但我总是创建一个链接表,然后获取生成的连接字符串,然后使用查询设计器,并将连接字符串部分粘贴到两个相关的查询属性中,即源数据库和源连接字符串。