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

类别:.NET开发 点击:0 评论:0 推荐:
'---------------------------------------------------------- '开发者:赵玉 '开发时间: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

本文地址:http://com.8s8s.com/it/it42060.htm