[英]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.