当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·关于消息    »显示摘要«
    摘要: 请问发什么消息给form1,能使他最大化,最小化. ......
    摘要: 可要是禁掉,又总是会提示网页不能正常显示;而且,我也想看完全的网页。我还要问的是在别人的机器上会提醒装不装,而在我的机器上它就直接装上了,还问我要不要重启机器。我用的是xp,ie6,重要的更新都打上了。 ......


有没有人怎样根据connection得到数据库的metadata,比如有哪些表,表结构

在Java里面是很容易的

NO.1   作者: net_lover

利用OleDb的GetOLEDBSchemaTable方法得到数据库架构信息      
   
     
  我们可以利用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  
   
   
     
 


    摘要: 如何在ttreeview动态增加一个项目, 请给详细例子,谢谢!!! ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE