如何在c#中计算表的数量?
本文关键字:计算 | 更新日期: 2023-09-27 18:07:23
我如何使代码获得表的数量到一个链接文本框在给定的数据库?我正在使用visual studio 2013,我是新手。我使用数据库服务器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;
}
}
老实说,我不明白这个问题。您需要给定数据库中的表计数。数据库由连接字符串指定。您已经有了返回包含所有表的
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");
使用下面的查询获取表的计数,只需在应用程序中添加该查询。
SELECT COUNT(*) from information_schema.tables
WHERE table_type = 'base table'
试试这个查询
select * from sys。表