C#中如何获取表的结构?

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:34:01
C#中如何获取表的结构?我想获得表的所有字段,还有主键和外键应该有标记,用什么方法?最好举个例子,我会加分,谢谢!

如果只是想知道数据表有多少列以及各个列的名称是什么,这个很容易。先要有访问数据库的权限并知道数据表的名称。然后用SqlDataAdapter来执行一句select top 1 * from 数据表名,再访问返回的DataTable的Columns里的每个DataColumn的ColumnName即可。

如果我没记错的话
String connStr = "...";
SqlConnection conn = new SqlConnection(connStr);
DataTable table = conn.GetSchema();
然后你看看table的内容吧

sql数据库的话,建议你限看下本库的系统表(需要编辑Sql注册属性的查看系统表)
可以通过查询 syscolumns,sysobjects,sysindexkeys 获得你想要的东西

Accsee的话
查询MSysNavPaneGroups系统隐藏表字段(Flags|GroupCategoryID | Id | Name | Object Type Group | ObjectID |Position)
Name是用户表名称,[Object Type Group]的值为 "-1"

查询MSysNavPaneObjectIDs系统隐藏表字段(ID,Name,Type)

MSysQueries,视图相关信息
1,Expression,视图表达式(部分Sql语句)
2,Name1,Name2,分别为视图名和视图字段

ADO.Net不提供DataBaseMetaData功能支持,因此,只能针对不同的数据库进行不同的查询处理。
例如:SQLServer的表信息好像是在master数据库里。
查一下对应数据库的Admin文档吧。

t1为新表 t2为已知表
datatable t1=new datatable();
t1=t2.copy();

树吗``?