在C#.NET中读取SQLite表信息

时间:2011-01-22 21:27:34

标签: c# .net winforms sqlite

我想阅读C#.NET Windows应用程序中的表和列信息。我知道SQL Server有SMO基本访问权限。在类似的基础上有SQLite的API吗?

1 个答案:

答案 0 :(得分:16)

您可以使用GetSchema方法:

DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SQLite");
using (DbConnection connection = factory.CreateConnection())
{
    connection.ConnectionString = @"Data Source=D:\tmp\test.db";
    connection.Open();
    DataTable tables = connection.GetSchema("Tables");
    DataTable columns = connection.GetSchema("Columns");
    tables.Dump();
    columns.Dump();
}

GetSchema返回一个DataTable,其中包含有关表,列或您指定的任何内容的信息。 SQLite的有效GetSchema参数包括:

  • MetaDataCollections
  • DataSourceInformation
  • 数据类型
  • ReservedWords
  • 目录
  • 索引
  • IndexColumns
  • 浏览
  • 排列viewColumns
  • ForeignKeys
  • 触发器