繁体   English   中英

在另一个查询中使用 TADOQuery 结果?

[英]Using TADOQuery result in another query?

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

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

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

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

插入 AccessTbl_TEMP (Field1,Field2) SELECT csvField1, csvField2 FROM TADOQueryCSV;

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;

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

试试这个更快的方法:

for x := 0 to Source.fieldcount - 1 do
begin
Target.fieldbyname(Source.fields[x].fieldname).value :=
Source.fields[x].value;
except
end;
end;

使用值将为您转换数据。 使用 try / except 概念将使您不必确定该字段是否存在

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM