2011-01-31 15 views
1

使用德爾福2009年。我有一個TADOConnection文件夾包含一個csv文件和一個TADOQuery,從那裏的csv文件(稱之爲TADOQueryCSV)拉數據。這工作正常。在另一個查詢中使用TADOQuery結果?

我還有一個Access數據庫的第二個TADOConnection,其中有一個名爲AccessTbl_TEMP的表和各種處理那裏數據的TADOQueries。他們工作正常。

現在我想處理TADOQueryCSV返回的數據並將其插入到Access數據庫的表中。但是,我如何引用從csv文件返回的數據?

我需要這樣的東西,但不知道如何編寫FROM子句。

INSERT INTO AccessTbl_TEMP(字段1,字段2) SELECT csvField1,csvField2 FROM TADOQueryCSV;

回答

0

您必須使用MS Access鏈接表,其中鏈接的表格將指向一個CSV文件。

+0

那就是我現在所做的。我試圖擺脫MSAccess表連接(尤其是安裝在客戶機器上)的無用性,並在delphi中完成所有操作,並將訪問數據庫留作數據庫。也很快我想放棄訪問和使用firebird或更好的東西,所以需要德爾福做處理。 – dochsm 2011-01-31 10:19:51

2

您可以在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; 
相關問題