小编典典

从服务器C#上的特定数据库检索表列表

sql

寻找一些可以从服务器上特定数据库检索表名称的C#示例。我已经有了一个有效的连接字符串,只是在寻找将每个表的名称添加到List中以供以后检索和操作的正确方法。


阅读 145

收藏
2021-03-17

共1个答案

小编典典

System.Data.SqlClient无需对sys.Tables进行正式查询就可以满足您的需求(尽管这是其在后台使用的功能)。GetSchema()SqlConnection对象上使用该方法并指定要使用“表”,它将向您发送一个DataTable对象,其中每个表都带有一行。它在每一行中(以该列顺序)发回数据库名称,表模式名称,表名称和表类型。代码如下所示:

public static List<string> GetTables(string connectionString)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        DataTable schema = connection.GetSchema("Tables");
        List<string> TableNames = new List<string>();
        foreach (DataRow row in schema.Rows)
        {
            TableNames.Add(row[2].ToString());
        }
        return TableNames;
    }
}
2021-03-17