
首先说明,获取数据库的表明,有对应的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数据库中的所有表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)