我想在C#.NET Windows应用程序中读取表和列信息。我知道SQL Server有SMO基本访问权限。基于类似的理由,是否有用于SQLite的API?

最佳答案

您可以使用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
  • 数据类型
  • 保留字
  • 目录
  • 索引
  • 索引列
  • 浏览
  • ViewColumns
  • 外键
  • 触发
  • 10-07 19:49
    查看更多