精典的ASP传奇的J2EE新生的NETFTP服务器服务器安全WINDOWSB/S 模式WEB安全WAP世界动态网站推广宣传
空间服务器数据库技术邮局服务器站長工具硬设与组建Alexa专题DHTML项目管理WEB标准电脑硬件
病毒知识电脑使用布线协议接入交换路由局域网无线网络网络规划
Visual BasicVisual C/C++MssqlMySqloracleSybase 存在安全风险进程系统进程列表应用程序进程列表其它进程列表
黑客编程漏洞分析本地提权免杀技术脚本漏洞数据库注入安全防护内网渗透加密解密工具使用
WAP技术WAP入门
 您的位置:   >> 相关知识 >> 开发技术 >> 精典的ASP >>

得到数据库的所有视图,表,存储过程等信息

合金网络科技

 
  添加日期:2006-11-2 点击次数:100次  
   
 

我们可以利用OleDb的GetOLEDBSchemaTable方法得到数据库的所有视图,表,存储过程等信息。

GetDataBaseSchema.aspx

<%@ Page Language='vb' AutoEventWireup='false' Codebehind='GetDataBaseSchema.aspx.vb'
 Inherits='aspxWeb.GetDataBaseSchema'%>
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>
<HTML>
  <HEAD>
    <title>GetDataBaseSchama</title>
    <meta name='GENERATOR' content='Microsoft Visual Studio.NET 7.0'>
    <meta name='CODE_LANGUAGE' content='Visual Basic 7.0'>
    <meta name='vs_defaultClientScript' content='JavaScript'>
    <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


 

精典的ASP精选TOP
· 利用ADODB.Stream 防盗链
· Adodb.Stream说明手册
· 采集需要登录
· ASP 判断远程图片是否存在
· 在ServerXMLHTTP组件中使用代理服务器
· 用XMLHTTP通过代理服务器从服务提取数据的一些问题
· objXML.readystate的值
· 互联网HTTP连接等出错代码大全
· 利用XMLHTTP实现的二级连动Select
· 利用 xmlhttp 分块上传文件
 
服务器安全点击TOP
· 新云最新漏洞总结篇
· 各类网站的默认数据库和密码
· Windows Server2003 防木马权限设置IIS服务器安全配置整理
· 针对ASP网站的Win 2003硬盘安全设置
· IIS 6 的PHP 最佳配置方法
· 利用SA.exe 将Iusr_victim克隆为Administrator
· Cmd模式下的入侵技术大全
· 破解网页代码加密
· SERV-U 6.4提权方法,通杀SERV-U版本
· 新云网站管理系统文件注入漏洞
 
硬设与组建点击TOP
· 从头到尾教你组建小型局域网20
· 从头到尾教你组建小型局域网19
· 从头到尾教你组建小型局域网18
· 从头到尾教你组建小型局域网17
· 从头到尾教你组建小型局域网16
· 从头到尾教你组建小型局域网15
· 从头到尾教你组建小型局域网14
· 从头到尾教你组建小型局域网13
· 从头到尾教你组建小型局域网12
· 从头到尾教你组建小型局域网11
 
病毒知识点击TOP
· 不再重装 手动清除顽固病毒AutoRUN
· 木马静态变动态 DLL木马程序大揭秘
· 详解一个很牛X的网马
· 一个网马
· Trojan-Downloader.Win32.Delf.bab
· 抓了一个AJAX的网马
· 迅雷5 最新0day利用程序
· 自动关掉270种杀毒软件
· RealPlayer 最新网马
· 五个反弹型后门的源代码
 
WINDOWS点击TOP
· 4【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 3【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 2【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 1【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· Capture an HTML document as an image
· 如何给eWebEditor编辑器加上运行代码框功能
· 给CuteEditor5增加了高亮代码显示功能
· CuteEditor6.0使用配置心得体会
· 关于IE插件的CLSID问题
· 对开发的程序(制作CAB)进行签名,并允许网站中使用
  "凌风微型文章系统",针对"搜索引擎"完美设计,提高"搜索引擎"对网站容量,质量的评估值,"扁平化,转静态 ..."