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

标签 c# sql

如何将表的名称检索到 List<string> 中?来自服务器上的特定数据库?

最佳答案

System.Data.SqlClient 无需对 sys.Tables 进行正式查询即可拥有您所需的功能(尽管这是它在后台使用的功能)。在 SqlConnection 对象上使用 GetSchema() 方法并指定您想要“表”,它会向您发送一个 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;
    }
}

关于c# - 从服务器 C# 上的特定数据库中检索表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6671067/

相关文章:

c# - 重写 Equals 和 GetHashCode 不一定会重写相等重载运算符

sql - 为什么SQL语句分为DDL、DML、DCL和TCL语句?

mysql - 使用 DATE_ADD 和 CURRENT_DATE 查找表中今天发生的事情

php - 如何从 "threads"表上相关线程的行中检索自动递增编号?

mysql - 连接3个表的Mysql查询是什么?

c# - 操作繁忙时表单不执行任何操作(卡住)

c# - string[] 或 List<string> 的 DataAnnotations MaxLength 和 StringLength?

c# - 将 Silverlight 客户端连接到 SignalR 服务器

c# - 如何构建可扩展的数据模型

sql - 查找唯一的天数