应用ADO.net得到系统表信息

该博客展示了使用ADO.net获取数据库相关信息的代码。定义了ClsGetTables类,包含多个函数,可获取所有表、系统表、用户表、视图、存储过程、数据类型等信息,还能获取表列、数据库名、表列权限、索引、主键等架构信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'---------------------------------------------------------- '开发者:赵玉 '开发时间:2005.1.13 '功能:应用ADO.net得到表 '---------------------------------------------------------- Imports Zy_DataAccess Imports System Imports System.Data Imports System.Data.SqlClient Imports System.Data.OleDb Public Class ClsGetTables '---------------------------------------------------------- '开发时间:2004.9.9 '功能:得到所有表 '---------------------------------------------------------- Public Function GetAllTables(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _ New Object() {Nothing, Nothing, Nothing, Nothing}) ' "TABLE"}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:得系统表 '---------------------------------------------------------- Public Function GetSystemTables(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _ New Object() {Nothing, Nothing, Nothing, "SYSTEM TABLE"}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:得用户表 '---------------------------------------------------------- Public Function GetUserTables(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _ New Object() {Nothing, Nothing, Nothing, "TABLE"}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:得到系统视图 '---------------------------------------------------------- Public Function GetSystemViews(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _ New Object() {Nothing, Nothing, Nothing, "SYSTEM VIEW"}) ' "TABLE"}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:得到用户视图 '---------------------------------------------------------- Public Function GetUserViews(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _ New Object() {Nothing, Nothing, Nothing, "VIEW"}) ' "TABLE"}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:得到所有过程 '---------------------------------------------------------- Public Function GetStoredProcedures(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Procedures, New Object() {Nothing, Nothing, Nothing, Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:得到数据类型 '---------------------------------------------------------- Public Function GetDataTypes(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Provider_Types, New Object() {Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:得到表的列,My_Tablename为空是所有的 '---------------------------------------------------------- Public Function GetTableColumns(ByVal CnStr As String, ByVal My_Tablename As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() If My_Tablename.Trim = "" Then My_Tablename = Nothing End If Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New Object() {Nothing, Nothing, My_Tablename, Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:数据库名 '---------------------------------------------------------- Public Function GetDbname(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Catalogs, New Object() {Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:数据库表列的权限 '---------------------------------------------------------- Public Function GetColumn_Privileges(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Column_Privileges, New Object() {Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:数据库表的索引 '---------------------------------------------------------- Public Function GetIndexes(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Indexes, New Object() {Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:数据库表的主键 '---------------------------------------------------------- Public Function GetPrimary_Keys(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, New Object() {Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:数据库的存储过程的参数 '---------------------------------------------------------- Public Function GetProcedure_Parameters(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Procedure_Parameters, New Object() {Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:数据库的架构信息 '---------------------------------------------------------- Public Function GetSchemata(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Schemata, New Object() {Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:数据库的表的记录数统计 '---------------------------------------------------------- Public Function GetStatistics(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Statistics, New Object() {Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:数据库的表的记录数统计 '---------------------------------------------------------- Public Function GetTable_Statistics(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Table_Statistics, New Object() {Nothing}) conn.Close() Return schemaTable End Function '---------------------------------------------------------- '开发时间:2004.9.9 '功能:数据库的中用户可访问的表 '---------------------------------------------------------- Public Function GetTables_Info(ByVal CnStr As String) As DataTable Dim conn As New OleDbConnection(CnStr) conn.Open() Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables_Info, New Object() {Nothing}) conn.Close() Return schemaTable End Function End Class
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值