方便的取得数据库的架构信息
来源:互联网 发布:dealmoon app没有网络 编辑:程序博客网 时间:2024/05/15 23:30
在进行数据库的操作时,我们经常需要从数据库读取架构信息,以前我都是用Sql语句进行的。这方便资料不全,很多需要自己猜测,或是用SqlServer的事件跟踪器进行跟踪,看看SqlServer管理器是如何做的。
在.Net里就方便了。DbConnection对象有一个GetSchema方法,非常强大,可以获得数据库的很多架构信息,一般对我们来说都够用了。不过简单的使用,是只用他来返回表名称,如下所示:
string[] restrictions = new string[4];
restrictions[3] = "BASE TABLE"
DataTable table = connection.GetSchema("Tables", restrictions);
如以上这段代码就可以把数据库中所有的用户表的架构信息都填充到DataTable中。
对于Tables返回如下信息
对于其它架构信息,请参看MSDN中的相关说明。
对于每一张表,获得架构信息的最方便的方法莫过于使用DataAdapter.FillSchema方法,示例如下:
SqlCommand cmd = connection.CreateCommand();
cmd.CommandText = "select * from " + tblSection.TableName + " where 0 = 1"
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable tblTable = new DataTable();
da.FillSchema(tblTable, SchemaType.Source);
这样就可以很方便的从tblTable中读出表的完整的架构信息。
附:取得数据库架构的方法多种多样,研究的晕晕乎乎,在.Net下,这是我发现的最简单的方法了。
- 方便的取得数据库的架构信息
- 如何方便的取得数据库的架构信息
- OLE DB取得数据库的架构信息
- 如何取得数据库对象的脚本信息
- 取得Access数据库中数据表的信息
- oracle数据库取得列的常用信息
- ADO如何取得数据库中表的字段信息
- 取得DBMS_MONITOR包的信息
- 取得手机的网络信息
- 取得oracle数据库信息
- 取得oracle数据库信息
- BB10方便查看qDebug()信息的方法
- 取得SQL Server数据库的相关信息,如存储过程、函数等
- Navicat for MySQL每次打开数据库时,总是弹出“取得ER图表信息”框的解决方法
- Navicat for MySQL每次打开数据库时,总是弹出“取得ER图表信息”框的解决方法
- 如何取得硬盘的分区信息
- 取得的IP/用户名等信息
- 取得一些web服务的信息
- java垃圾回收算法
- acm zju 1712
- The Guerrilla Guide to Interviewing
- 权限管理系统思想
- java变量、常量、运算符号
- 方便的取得数据库的架构信息
- 不懂装懂
- 足球比赛
- ★ 生成静态页面的五种方案
- java与mysql数据库的连接
- 5毛钱都藏不住我TMD还算爷们吗!
- ★ 对抽象工厂模式的一点理解
- 男人是这样变坏的
- ★ .NET常用功能和代码