C#已知数据库,获取所有表名

如题,可用于编写框架时。配合反射,能自动生成自己需要的代码。

原理:利用连接的GetSchema方法,参数“”Tables“,”,返回所有表。

代码:

public static DataTable get_tables()
        {
            var myconn = createConn();
            myconn.Open();
            var t= myconn.GetSchema("Tables");
            myconn.Close();
            return t;
        }

其中,createconn用于创建连接字符串。

验证代码:

HC_DB.Access.init_db(HC_DB.Db_type.SqlServer, @"(localdb)mssqllocaldb", "sa", "123456", "d1");
            var dt = Access.get_tables();
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    Console.Write(dt.Rows[i][j].ToString()+"	");
                }
                Console.WriteLine(); ;
            }
            Console.ReadKey();

运行结果:

原文地址:https://www.cnblogs.com/wanjinliu/p/14971661.html