MySQL Connector/NET 发行说明
可以使用连接对象的 GetSchema()
方法检索有关当前连接到的数据库的架构信息。架构信息以 DataTable
的形式返回。架构信息被组织成许多集合。根据所需的信息,可以使用不同形式的 GetSchema()
方法。 GetSchema()
方法有三种形式
GetSchema()
- 此调用将返回可用集合的列表。GetSchema(String)
- 此调用返回有关字符串参数中命名的集合的信息。如果使用字符串 “MetaDataCollections”,则返回所有可用集合的列表。这与不带任何参数调用GetSchema()
相同。GetSchema(String, String[])
- 在此调用中,第一个字符串参数表示集合名称,第二个参数表示限制值的字符串数组。限制值限制了将返回的数据量。限制值在 Microsoft .NET 文档 中有更详细的解释。
集合可以大致分为两类:所有数据提供程序共有的集合和特定于特定提供程序的集合。
通用集合。 以下集合是所有数据提供程序共有的
MetaDataCollections
DataSourceInformation
DataTypes
Restrictions
ReservedWords
特定于提供程序的集合。 除了前面显示的通用集合之外,以下是由 Connector/NET 提供的集合
数据库
表
列
用户
外键
索引列
索引
外键列
UDF
视图
视图列
过程参数
过程
触发器
C# 代码示例。 可以使用以下代码获取可用集合的列表
using System;
using System.Data;
using System.Text;
using MySql.Data;
using MySql.Data.MySqlClient;
namespace ConsoleApplication2
{
class Program
{
private static void DisplayData(System.Data.DataTable table)
{
foreach (System.Data.DataRow row in table.Rows)
{
foreach (System.Data.DataColumn col in table.Columns)
{
Console.WriteLine("{0} = {1}", col.ColumnName, row[col]);
}
Console.WriteLine("============================");
}
}
static void Main(string[] args)
{
string connStr = "server=localhost;user=root;database=world;port=3306;password=******";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
Console.WriteLine("Connecting to MySQL...");
conn.Open();
DataTable table = conn.GetSchema("MetaDataCollections");
//DataTable table = conn.GetSchema("UDF");
DisplayData(table);
conn.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Console.WriteLine("Done.");
}
}
}
有关 GetSchema()
方法和架构集合的更多信息,请参阅 Microsoft .NET 文档。