C# 在SQLite中使用SELECT命令列出连接的数据库
是否有一个SELECT命令可以列出所有连接的数据库,类似于sqlite3中可用的.database命令?我知道SELECT语句不能执行此操作。尽管您可能希望在主数据库中查找,但此数据可能存储在主数据库中。然而,有一个解决办法。如果执行以下语句,它将返回为当前连接附加的数据库:C# 在SQLite中使用SELECT命令列出连接的数据库,c#,sqlite,system.data.sqlite,C#,Sqlite,System.data.sqlite,是否有一个SELECT命令可以列出所有连接的数据库,类似于sqlite3中可用的.database命令?我知道SELECT语句不能执行此操作。尽管您可能希望在主数据库中查找,但此数据可能存储在主数据库中。然而,有一个解决办法。如果执行以下语句,它将返回为当前连接附加的数据库: PRAGMA database_list; 第一行始终是主数据库,第二行始终是临时数据库。任何进一步的数据库都在前两个之后。您可以对数据库运行此语句,方法与从c或其他类似语言的代码中运行SELECT语句相同 这里有一个很
PRAGMA database_list;
第一行始终是主数据库,第二行始终是临时数据库。任何进一步的数据库都在前两个之后。您可以对数据库运行此语句,方法与从c或其他类似语言的代码中运行SELECT语句相同
这里有一个很好的参考:
祝你好运 被接受的答案在发布时是正确的,但在SQLite 3.16.0和更高版本中,大多数无副作用的pragmas也可以通过所谓的方式访问 这意味着你可以写:
sqlite> .headers on
sqlite> select * from pragma_database_list;
seq|name|file
0|main|
2|a|D:\a.sqlite
3|b|D:\b.sqlite
4|c|D:\c.sqlite
上的.headers是完全可选的,但非常有用,因为这些pragma函数返回的列名没有记录在任何地方
但要注意,它们未被记录的部分原因是“此功能是实验性的,可能会发生变化”