如何计算C#中的表数

时间:2015-08-12 10:01:13

标签: c# .net sql-server

如何创建代码以获取给定数据库中链接文本框的表数?我使用的是2013年的visual studio,我是新手。我使用的是数据库服务器ms sql。

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[0].ToString());
        }
        return TableNames;

    }

}

3 个答案:

答案 0 :(得分:1)

说实话,我不明白这个问题。您需要给定数据库中的表计数。数据库由连接字符串指定。您已经有代码返回包含所有表的DataTable

所以这是缺失的部分。由于connection.GetSchema("Tables")也会返回视图,因此如果您想要计算两者,请准备好:

DataTable schema = connection.GetSchema("Tables");
int tableAndViewCount = schema.Rows.Count;

如果您只想计算表并排除视图:

int tableCount = schema.AsEnumerable().Count(t => t.Field<string>("TABLE_TYPE") == "BASE TABLE");

答案 1 :(得分:0)

尝试此查询

从sys.tables中选择*

答案 2 :(得分:0)

使用以下查询获取表的数量,只需在您的应用程序中添加该查询。

SELECT COUNT(*) from information_schema.tables
WHERE table_type = 'base table'