在C#.NET中读取SQLite表的信息。
在C#.NET中读取SQLite表信息的原因是因为使用GetSchema方法时遇到了问题。解决方法是改用SQLiteCommand("PRAGMA table_info('tracks')", DB)来获取表结构信息。
GetSchema方法返回一个包含有关表、列或其他指定信息的DataTable。SQLite中有效的GetSchema参数包括:
- MetaDataCollections
- DataSourceInformation
- DataTypes
- ReservedWords
- Catalogs
- Columns
- Indexes
- IndexColumns
- Tables
- Views
- ViewColumns
- ForeignKeys
- Triggers
根据stackoverflow的一篇帖子,GetSchema在SQLite中不起作用。我遇到了同样的问题,现在我使用"SQLiteCommand("PRAGMA table_info('tracks')", DB)"来获取表结构信息。
根据评论中的回答,GetSchema方法在官方的System.Data.SQLite提供程序中可以正常工作。
如何找出DataTable tables = connection.GetSchema("Tables")中的列?
只需枚举tables.Columns即可。
我在最新的nuget包上尝试了这个方法,但收到了"Specified method is not supported."的错误信息。