中国站长下载-为中国站长提供最好最全的建站资源! 首 页发布资源有事留言繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:中国站长下载 -> 文章中心 -> 网页编程 -> .NET编程 -> 文章内容  虚拟主机 域名注册 退出登录 用户管理
栏目导航
· ASP编程 · .NET编程
· PHP编程 · JSP编程
· CGI 专区
热门文章
· sndvol32 - sndvol3...
· [组图] FLASH:《大话李白》...
· 个人网站到底能赚多...
· [图文] Rundll.exe是病毒吗...
· [组图] Flash:制作MV
· 价值12万元的网站SE...
· 网站创业者,你需要...
· 一个成功的网站设计...
· [图文] FLASH:韩国导航条解...
· 中国网站的赚钱模式...
相关文章
利用OleDb的GetOLEDBSchemaTable方法得到数据库架构信息
作者:不详  来源:不详  发布时间:2006-8-14 9:16:47  发布人:chinazhan

 减小字体 增大字体

     我们可以利用OleDb的GetOLEDBSchemaTable方法得到数据库的所有视图,表,存储过程等信息。
  
  GetDataBaseSchema.ASPx
  
  <%@ Page Language="<a href="http://dev.21tx.com/language/vb/" target="_blank">VB</a>" AutoEventWireup="false" Codebehind="GetDataBaseSchema.aspx.vb"
   Inherits="aspx<a href="http://dev.21tx.com/web/" target="_blank">Web</a>.GetDataBaseSchema"%>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <HTML>
   <HEAD>
   <title>GetDataBaseSchama</title>
   <meta name="GENERATOR" content="Microsoft Visual Studio<a href="http://dev.21tx.com/dotnet/" target="_blank">.net</a> 7.0">
   <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
   <meta name="vs_defaultClientScript" content="<a href="http://dev.21tx.com/web/javascript/" target="_blank">JavaScript</a>">
   <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
   </HEAD>
   <body MS_POSITIONING="GridLayout">
   <form id="Form1" method="post" runat="server">
   <asp:DataGrid id="DataGrid1" runat="server"></asp:DataGrid><br>
   <asp:DataGrid id="DataGrid2" runat="server"></asp:DataGrid><br>
   <asp:DataGrid id="DataGrid3" runat="server"></asp:DataGrid><br>
   <asp:DataGrid id="DataGrid4" runat="server"></asp:DataGrid><br>
   <asp:DataGrid id="Datagrid5" runat="server"></asp:DataGrid><br>
   <asp:DataGrid id="Datagrid6" runat="server"></asp:DataGrid>
   </form>
   </body>
  </HTML>
  
  GetDataBaseSchema.aspx.vb
  
  Imports System
  Imports System.Data
  Imports System.Data.OleDb
  
  Public Class GetDataBaseSchema
   Inherits System.Web.UI.Page
   Protected WithEvents DataGrid2 As System.Web.UI.WebControls.DataGrid
   Protected WithEvents DataGrid3 As System.Web.UI.WebControls.DataGrid
   Protected WithEvents DataGrid4 As System.Web.UI.WebControls.DataGrid
   Protected WithEvents Datagrid5 As System.Web.UI.WebControls.DataGrid
   Protected WithEvents Datagrid6 As System.Web.UI.WebControls.DataGrid
   Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
  
  #Region " Web Form Designer Generated Code "
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  
   End Sub
  
   Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _
   Handles MyBase.Init
   InitializeComponent()
   End Sub
  
  #End Region
  
   Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
   Handles MyBase.Load
   '如何得到数据库中的架构信息?
   'GetOLEDBSchemaTable函数有两个方法:
   'OLEDBSchemaGUID
   'Restrictions
   '参数OLEDBSchemaGUID 的成员:Tables, Procedures, Views, Columns, Catlogs 等
   '参数restrictions为限制条件,是一个对象数组,原来过虑架构结果信息,
   '每一个对象映射到所返回的datacolumn的值。
  
  
   Dim strCnn As String
   strCnn = "Provider=SqlOLEDB; Data Source=.\NetSDK; Initial Catalog=pubs;User ID=sa;Password=;"
   Dim dataConn As New OleDbConnection(strCnn)
   Try
   dataConn.Open()
   Dim schemaTable As DataTable
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
   '得到全部的表、视图
   DataGrid1.DataSource = schemaTable
   DataGrid1.DataBind()
  
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
   '得到全部的用户表,用户表类型为Table,进行过虑
   DataGrid2.DataSource = schemaTable
   DataGrid2.DataBind()
  
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "VIEW"})
   '得到全部的视图
   DataGrid3.DataSource = schemaTable
   DataGrid3.DataBind()
  
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Procedures, Nothing)
   '得到全部的存储过程
   DataGrid4.DataSource = schemaTable
   DataGrid4.DataBind()
  
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Provider_Types, Nothing)
   '得到全部支持的数据类型
   Datagrid5.DataSource = schemaTable
   Datagrid5.DataBind()
  
   schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, Nothing)
   Datagrid6.DataSource = schemaTable
   Datagrid6.DataBind()
   Catch ex As Exception
   Response.Write(ex.Message.ToString())
   Finally
   dataConn.Close()
   End Try
  
   End Sub
  
  End Class
  
  
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

 
[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
中国站长下载
中国站长下载

本页只接受PR>=4 IT类站点连接,申请连接,谢谢您们的支持!希望我们的下载站能够真正帮到中国的站长们!
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
Copyright © 2005-2006 ChinaZhan.Net. All Rights Reserved .