C#获得Sqlserver数据库中所有表名

欢迎加入BIM行业开发交流1群 群号:711844216

一、背景

小伙伴们在使用数据库时,可能需要程序自动去获取指定数据库中所有表的名称,或许根据表名特征获取相关表。

二、思路

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数据库所有表名

你可能感兴趣的:(数据库,C#)