ACCESS数据库轻松查看

    技术2022-05-11  74

    不知道为什么突然写了这么一个东东,呵呵,也许以后用得着!

     <!--#include file="conn.asp"--><%'on error resume next

    dim tbstrset rstSchema=conn.OpenSchema(20)Do while Not rstSchema.eof If rstSchema.fields(3)="TABLE" then  tbstr = tbstr&"<a href=""?table="&rstSchema("Table_Name")&""">"&rstSchema("Table_Name")&"</a><br/>" end if rstSchema.moveNextLoop

    dim datastrIf Request("table")<>"" then  dim sql:sql = "Select * From "&Request("table")  Set rs = Server.CreateObject("Adodb.Recordset")  rs.open sql,conn,1,1  dim cl:cl = rs.fields.count-1

      datastr = datastr & "<tr style=""background:buttonface;"">"  for i = 0 to cl   datastr = datastr & "<td>" & rs.fields(i).name & "</td>"  next  datastr = datastr & "</tr>"

      If Not rs.eof then   Do While Not rs.eof    datastr = datastr & "<tr>"    for i = 0 to cl     datastr = datastr & "<td>" & rs.fields(i) & "</td>"    next    datastr = datastr & "</tr>"    rs.MoveNext   Loop  end if  rs.close  Set rs = Nothingend if

     conn.close Set conn = Nothing%><div id="showall" style="margin:0 auto;"> <div id="lp" style="width:180px;overflow-x:auto;float:left;">  <%=tbstr%> </div> <div id="rp" style="float:left;">  <div id="dtp" style="clear:both;">   <table id="dt" border="1"><%=datastr%></table>  </div>  <div id="bt" style="clear:both;">  <form method="post">   <textarea name="sqltry" style="width:500px;height:100px;overflow:auto;"></textarea><br/>   <input type="submit" value=" try ">  </form>  </div> </div></div>

    OpenSchema方法技术探讨 从提供者获取数据库模式信息。

    语法

    set connection=server.createobject(“adodb.connection“)

    Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)

    返回值

    返回包含模式信息的 Recordset 对象。Recordset 将以只读、静态游标打开。

    参数

    QueryType   所要运行的模式查询类型,可以为下列任意常量。

    Criteria   可选。每个 QueryType 选项的查询限制条件数组,

    参数枚举(QueryType )

    '---- SchemaEnum Values ----Const adSchemaProviderSpecific = -1Const adSchemaAsserts = 0Const adSchemaCatalogs = 1Const adSchemaCharacterSets = 2Const adSchemaCollations = 3Const adSchemaColumns = 4Const adSchemaCheckConstraints = 5Const adSchemaConstraintColumnUsage = 6Const adSchemaConstraintTableUsage = 7Const adSchemaKeyColumnUsage = 8Const adSchemaReferentialContraints = 9Const adSchemaTableConstraints = 10Const adSchemaColumnsDomainUsage = 11Const adSchemaIndexes = 12Const adSchemaColumnPrivileges = 13Const adSchemaTablePrivileges = 14Const adSchemaUsagePrivileges = 15Const adSchemaProcedures = 16Const adSchemaSchemata = 17Const adSchemaSQLLanguages = 18Const adSchemaStatistics = 19Const adSchemaTables = 20Const adSchemaTranslations = 21Const adSchemaProviderTypes = 22Const adSchemaViews = 23Const adSchemaViewColumnUsage = 24Const adSchemaViewTableUsage = 25Const adSchemaProcedureParameters = 26Const adSchemaForeignKeys = 27Const adSchemaPrimaryKeys = 28Const adSchemaProcedureColumns = 29

    ado help:OpenSchema 方法     

    从提供者获取数据库模式信息。

    语法

    Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)

    返回值

    返回包含模式信息的 Recordset 对象。Recordset 将以只读、静态游标打开。

    参数

    QueryType   所要运行的模式查询类型,可以为下列任意常量。

    Criteria   可选。每个 QueryType 选项的查询限制条件数组,如下所列:

    QueryType 值 Criteria 值 AdSchemaAsserts CONSTRAINT_CATALOGCONSTRAINT_SCHEMACONSTRAINT_NAME AdSchemaCatalogs CATALOG_NAME AdSchemaCharacterSets CHARACTER_SET_CATALOGCHARACTER_SET_SCHEMACHARACTER_SET_NAME AdSchemaCheckConstraints CONSTRAINT_CATALOGCONSTRAINT_SCHEMACONSTRAINT_NAME AdSchemaCollations COLLATION_CATALOGCOLLATION_SCHEMACOLLATION_NAME AdSchemaColumnDomainUsage DOMAIN_CATALOGDOMAIN_SCHEMADOMAIN_NAMECOLUMN_NAME AdSchemaColumnPrivileges TABLE_CATALOGTABLE_SCHEMATABLE_NAMECOLUMN_NAMEGRANTORGRANTEE adSchemaColumns TABLE_CATALOGTABLE_SCHEMATABLE_NAMECOLUMN_NAME adSchemaConstraintColumnUsage TABLE_CATALOGTABLE_SCHEMATABLE_NAMECOLUMN_NAME adSchemaConstraintTableUsage TABLE_CATALOGTABLE_SCHEMATABLE_NAME adSchemaForeignKeys PK_TABLE_CATALOGPK_TABLE_SCHEMAPK_TABLE_NAMEFK_TABLE_CATALOGFK_TABLE_SCHEMAFK_TABLE_NAME adSchemaIndexes TABLE_CATALOGTABLE_SCHEMAINDEX_NAMETYPETABLE_NAME adSchemaKeyColumnUsage CONSTRAINT_CATALOGCONSTRAINT_SCHEMACONSTRAINT_NAMETABLE_CATALOGTABLE_SCHEMATABLE_NAMECOLUMN_NAME adSchemaPrimaryKeys PK_TABLE_CATALOGPK_TABLE_SCHEMAPK_TABLE_NAME adSchemaProcedureColumns PROCEDURE_CATALOGPROCEDURE_SCHEMAPROCEDURE_NAMECOLUMN_NAME adSchemaProcedureParameters PROCEDURE_CATALOGPROCEDURE_SCHEMAPROCEDURE_NAMEPARAMTER_NAME adSchemaProcedures PROCEDURE_CATALOGPROCEDURE_SCHEMAPROCEDURE_NAMEPROCEDURE_TYPE adSchemaProviderSpecific 参见说明 adSchemaProviderTypes DATA_TYPEBEST_MATCH adSchemaReferentialConstraints CONSTRAINT_CATALOGCONSTRAINT_SCHEMACONSTRAINT_NAME adSchemaSchemata CATALOG_NAMESCHEMA_NAMESCHEMA_OWNER adSchemaSQLLanguages <无> adSchemaStatistics TABLE_CATALOGTABLE_SCHEMATABLE_NAME adSchemaTableConstraints CONSTRAINT_CATALOGCONSTRAINT_SCHEMACONSTRAINT_NAMETABLE_CATALOGTABLE_SCHEMATABLE_NAMECONSTRAINT_TYPE adSchemaTablePrivileges TABLE_CATALOGTABLE_SCHEMATABLE_NAMEGRANTORGRANTEE adSchemaTables TABLE_CATALOGTABLE_SCHEMATABLE_NAMETABLE_TYPE adSchemaTranslations TRANSLATION_CATALOGTRANSLATION_SCHEMATRANSLATION_NAME adSchemaUsagePrivileges OBJECT_CATALOGOBJECT_SCHEMAOBJECT_NAMEOBJECT_TYPEGRANTORGRANTEE adSchemaViewColumnUsage VIEW_CATALOGVIEW_SCHEMAVIEW_NAME adSchemaViewTableUsage VIEW_CATALOGVIEW_SCHEMAVIEW_NAME adSchemaViews TABLE_CATALOGTABLE_SCHEMATABLE_NAME

    SchemaID   OLE DB 规范没有定义用于提供者模式查询的 GUID。如果 QueryType 设置为 adSchemaProviderSpecific,则需要该参数,否则不使用它。

    说明

    OpenSchema 方法返回与数据源有关的信息,例如关于服务器上的表以及表中的列等信息。

    Criteria 参数是可用于限制模式查询结果的值数组。每个模式查询有它支持的不同参数集。实际模式由 IDBSchemaRowset 接口下的 OLE DB 规范定义。ADO 中所支持的参数集已在上面列出。

    如果提供者定义未在上面列出的非标准模式查询,则常量 adSchemaProviderSpecific 将用于 QueryType 参数。在使用该常量时需要 SchemaID 参数传递模式查询的 GUID 以用于执行。如果 QueryType 设置为 adSchemaProviderSpecific 但是没有提供 SchemaID,将导致错误。

    提供者不需要支持所有的 OLE DB 标准模式查询,只有 adSchemaTables、adSchemaColumns 和 adSchemaProviderTypes 是 OLE DB 规范需要的。但是对于这些模式查询,提供者不需要支持上面列出的 Criteria 条件约束。

    远程数据服务用法   OpenSchema 方法在客户端 Connection 对象上无效。

    注意   在 Visual Basic 中,在由 Connection 对象的 OpenSchema 方法所返回的 Recordset 中有 4 字节无符号整型 (DBTYPE UI4) 的列无法与其他变量比较。有关 OLE DB 数据类型的详细信息,请参阅“Microsoft OLE DB 程序员参考”的第十章和附录 A。

    感谢 >其他数据库开发>Access版 wangtiecheng 及 wwwwb 两位兄弟!


    最新回复(0)