在C#中对多个sqlite数据库执行查询

时间:2014-01-17 06:56:25

标签: c# sqlite

我有超过400个sqlite数据库。我需要查询这些数据库。像简单的SELECT.....查询一样获得结果。

我不知道在单一查询中天气是可能的。

目前的逻辑是。

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

最后我们将所有数据库结果都放在单个数据表中。

有人有更好的查询多个数据库的解决方案吗?

提前致谢。

1 个答案:

答案 0 :(得分: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