用C#通过ado.net获取access数据库中所有表名,并用treeview显示,谢谢

用C#通过ado.net获取access数据库中所有表名,并用treeview显示,谢谢,第1张

首先说明,获取数据库的表明,有对应的SQL语句,例如access数据库:select name from accesssysobjects  Where XType='U'

然后在C#写一个读取数据库的类,里面写个方法,用这个SQL语句读取表名,就可以

我也不太懂你说的通过adonet获取,只是难道不是直接连接数据库读取表名吗??

软糖来回答这个问题把。

1使用Connection的GetSchema方法,参数为"Tables"

        public IList<string> 获取表集合(SqlConnection 连接)

        {

            List<string> 表名 = new List<string>();

            DataTable dt = 连接GetSchema("Tables");

            foreach (DataRow row in dtRows)

            {

                string 表类型 = (string)row["TABLE_TYPE"];

                if (表类型Contains("TABLE"))

                { 表名Add(row["TABLE_NAME"]ToString()); }

            }

            return 表名;

        }

2使用SELECT语句针对系统表进行 *** 作

        public IList<string> 获取表集合2(SqlConnection 连接)

        {

            SqlCommand 命令 = new SqlCommand

            (@"SELECT name FROM sysobjects WHERE (OBJECTPROPERTY(id, N'IsUserTable') = 1)", 连接);

            List<string> 表名 = new List<string>();

            SqlDataReader 读取器 = 命令ExecuteReader();

            while (读取器Read())

            {

                string 名称 = 读取器[0]ToString();

                表名Add(名称);

            }

            读取器Close();

            return 表名;

        }

以上两种方法都是针对SQL SERVER数据库测试有效,其他的数据库可能需要修改部分代码。

如满意,请采纳,谢谢。

只查询名字的话用如下语句:

selecttablespace_namefromdba_tablespaces;

空间含义:

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表,所以称作表空间。

Oracle数据库中至少存在一个表空间,即SYSTEM的表空间。

以上就是关于用C#通过ado.net获取access数据库中所有表名,并用treeview显示,谢谢全部的内容,包括:用C#通过ado.net获取access数据库中所有表名,并用treeview显示,谢谢、用C#代码 怎样获取数据库的所有的表名、如何查看oracle数据库中的所有表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9561681.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存