版权声明:此文由黑夜の骑士创作,转载请注明出处,交流qq1056291511 https://blog.csdn.net/birdfly2015/article/details/90520824
一、背景
小伙伴们在使用数据库时,可能需要程序自动去获取指定数据库中所有表的名称,或许根据表名特征获取相关表。
二、思路
1.C#连接sqlserver的就不再赘述了
2.SqlConnection类的GetSchema()方法
3.对表进行筛选,如果有需要的话
三、代码
using (SqlConnection conn = new SqlConnection(connectString))
{
conn.Open();
//从连接中获得所有表
DataTable dt = conn.GetSchema("Tables");
//用于存放表格的列表
List<string> tableNameList = new List<string>();
foreach (DataRow row in dt.Rows)
{
//得到表名
string tablename = (string) row[2];
//如果直接想获得这个数据库下的所有表,可以直接添加;
tableNameList.Add(tablename);
//同样可以添加条件,对需要的表格进行筛选
if (tablename.Contains("xxx")
tableNameList.Add(tablename);
}
}
4、注意事项
如果需要获取Mysql数据库中所有表名,可以参看博主另外一篇文章
如何获取MySQL数据库所有表名