我想插入數據到一個訪問數據庫表中的nexusdb表。我爲此使用了兩個查詢。一個用於從訪問數據庫中選擇數據,另一個用於插入到nexusdb。我不想用循環插入。有什麼方法可以直接插入所有選定的數據集?從數據集中插入數據到delphi
回答
有什麼辦法直接插入所有選定的數據集?
如果兩個數據庫分別爲,比如說,MS SQL Server或其他一些後端SQL服務器,如MySQL,你可以這樣做,但MS Access和NexusDB,沒有我所知道的之間。他們似乎有共同的唯一的數據庫訪問連接器是ODBC和afaik,不支持不同驅動程序之間的異類查詢(所以你不能做一個「插入到sourceserver.database.table select * from source.database .table「)
所以我認爲你被困在一個循環中。唯一真正的問題是你是否必須自己編寫循環或是否隱藏在庫代碼中。
下面的代碼使用FireDAC的TFDDataMove組件在表格間移動數據。當然,使用它需要目標服務器支持FireDAC或ODBC。正如Uwe Raabe所說,截至目前(德爾福當前版本爲西雅圖),FireDAC不支持NexusDB,反之亦然。但是,根據他們的網站,NexusDB有一個ODBC驅動程序可用。雖然我沒有安裝NexusDB,但下面的ODBC驅動程序可以正常工作,所以應該使用NexusDB。
procedure TForm1.TestDataMove;
var
Item : TFdMappingItem;
begin
Item := FDDataMove1.Mappings.Add;
Item.SourceFieldName := 'ID';
Item.DestinationFieldName := 'ID';
Item := FDDataMove1.Mappings.Add;
Item.SourceFieldName := 'Name';
Item.DestinationFieldName := 'Name';
FDDataMove1.Source := FDTable1;
FDDataMove1.Destination := FDTable2;
FDDataMove1.Options := FDDataMove1.Options - [poOptimiseSrc];
FDDataMove1.Execute;
FDConnection2.Connected := False;
FDTable2.Open;
end;
從西雅圖開始,FireDAC不支持NexusDB。由於DataMove組件的來源實際上可以是一個簡單的TDataSet,所以如果您想將Nexus表中的數據移動到FD兼容的數據集中,這種方法就可以工作,但不會按照此處要求的方式進行。 –
也許'TFDBatchMove'是更好的方法:http://docwiki.embarcadero.com/Libraries/Seattle/en/FireDAC.Comp.BatchMove.TFDBatchMove –
@UweRaabe:謝謝。似乎有一個運動來讓Nexus支持FireDAC,但我不知道它是什麼。 – MartynA
- 1. 從列表視圖插入數據到數據庫delphi
- 2. 大數據集從MySQL插入到neo4j
- 3. 從Web服務提取數據到Delphi中的數據集
- 4. 插入數據集
- 5. 在Delphi中通過TADOCommand插入數據
- 6. 使用LINQ從數據集插入數據到SQL
- 7. 從datagridview插入數據到數據庫
- 8. 從數據庫插入數據到表
- 9. 從數據集中將數據插入表中
- 10. 防止從.NET數據集中插入到數據庫中的負數ID
- 11. 插入到Mysql數據庫後更新數據集數據
- 12. 錯誤插入數據集數據到數據庫表
- 13. C#將數據集中的數據插入到datagridview中
- 14. 如何將圖形數據集插入到Orientdb數據庫中?
- 15. 數據未插入到數據庫中
- 16. 數據未插入到數據庫中
- 17. 不插入數據到數據庫中
- 18. 使用C#中的數據表將數據插入到數據集中.net
- 19. 將數據從數據庫插入數組並將數據嵌入到textarea中
- 20. 數據集插入表
- 21. 將數據集插入DataTable
- 22. C#插入到來自數據集
- 23. 插入數據集到Oracle表
- 24. Unitils數據集 - 插入到sybase datetime列
- 25. 如何在MyQuery中插入數據到MySQL表中(Delphi)
- 26. 中插入數據從CSV
- 27. 從表中插入數據
- 28. C#從數據表插入數據到SQL Server數據庫
- 29. 將數據從數據表插入到數據庫的問題#
- 30. 從列表中插入數據到表
你應該指定你的Delphi版本。 –
@mjn不,我希望沒有循環。 – Ishanka
@UweRaabe德爾福10西雅圖 – Ishanka