2014-01-17 64 views
0

我有超過400個sqlite數據庫。我需要查詢這些數據庫。像簡單的SELECT.....查詢來獲得結果。C#中的多個sqlite數據庫執行查詢#

我不知道天氣在單個查詢中是可能的。

當前的邏輯是。

foreach(FileInfo finf in Files) 
{ 
    // query one database get result 
    Datatable results = execute(); 
    // merge Datatable with new one. 
} 

最後我們得到所有數據庫結果在單個數據表中。

有沒有人有更好的解決方案來查詢多個數據庫?

在此先感謝。

+0

你有GOOGLE了它? – SMK

+1

是的,我嘗試過,但最大的結果與附加數據庫有關。這對我來說很不方便。它與當前邏輯相同 – Pratik

+0

你的解決方案不錯,但關閉未使用的SqLiteConnection(s) – houssam

回答

1

爲了使用SQLite獲得單個結果集,您必須通過ATTACH command爲每個數據庫加入一個不同的別名,然後構建一條sql語句,將數據分組爲SELECT ... UNION command的單個結果集。

例如:

- ATTACH DATABASE 'Database1' As 'DB1'; 
- ATTACH DATABASE 'Database2' As 'DB2'; 

然後:

SELECT * FROM DB1.MyTable 

UNION 

SELECT * FROM DB2.MyTable 
+0

我有超過400個數據庫。 sqlite附加數據庫的最大限制爲62. http://www.sqlite.org/limits.html – Pratik

+0

按組og 62查詢並將結果合併到DataTable對象中。 –