asp 获取access系统表,查询等操作代码

方法一:直接用ado的OpenSchema()方法打开adSchemaTables,建立一个schema记录集

Code:

<%

Const adSchemaTables = 20

adSchemaColumns = 4

dim Conn,db

dim ConnStr

db="temp.mdb"       'ACCESS数据库的文件名,请使用相对于网站根目录的的绝对路径

ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open connstr

Dim rstSchema

Dim I

Set rstSchema = Conn.OpenSchema(adSchemaTables)

Do while not rstSchema.EOF

  response.write("Table name: "& rstSchema("TABLE_NAME") & vbCr & _

  "Table type: " & rstSchema("TABLE_TYPE") & vbCr)

response.write("<br/>")

I = I + 1

rstSchema.MoveNext

Loop

rstSchema.Close

conn.Close

%>

方法二:Access 系统表 MsysObjects 包含了数据库对象列表。尽管未在文档中记载,你仍可通过查询它来获取你想要的。但是默认情况下无法操作系统表,必须手动设定权限收才能查询系统表。

请参考以下动画:如何获取对msysobject的操作权限 http://blog.iyi.cn/user/david/archives/IMAGES/msobject.swf

但是我在access2003中找不到这几个系统表,不知道是不是m$增强了access的安全性。

使用下列 SQL 语句来获取你想要的

Code:

查询:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)=5 ORDER BY MSysObjects.Name;

窗体:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)=-32768 ORDER BY MSysObjects.Name;

表:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name;

报表:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)= -32764 ORDER BY MSysObjects.Name;

模块:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)= -32761 ORDER BY MSysObjects.Name;

宏:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)= -32766 ORDER BY MSysObjects.Name;

时间: 2024-10-26 08:40:34

asp 获取access系统表,查询等操作代码的相关文章

ASP获取ACCESS数据库表名及结构的代码_应用技巧

<html> <head> <title>获取ACCESS数据库表名_www.jb51.net</title> </head> <body style="text-align:left;margin-left:50px;font-family:'arial';font-size:12px"> <form style="padding:5px;margin:5px;margin-left:0px&qu

mysql-msql的索引和表查询的操作

问题描述 msql的索引和表查询的操作 今天看了一下午的资料,感觉还是模糊的,就是加了索引之后,同样的查询语句会用时比之前短,但我新手明白为什么这样用, 而里面索引具体怎么实现的比较模糊,再有就是多个表之间怎么建立关系?就是查歌手表的歌手的id就能查到歌曲表,歌手信息表等多个相关表的信息?是外键?希望大家解答一下! 解决方案 索引列是你查询的时候的条件,这样这个条件对应的数据在索引中可以迅速的定位到最终的数据,因而不用在数据库整个表中遍历一个个查询 解决方案二: 那相当于一个指针?一个地址吗?

获取所有系统属性值的java代码段

获取所有系统属性值的java代码段: Java代码 Properties pros = System.getProperties(); Enumeration<?> names = pros.propertyNames(); while (names.hasMoreElements()) { String name = (String) names.nextElement(); System.out.println(name + "=" + System.getProper

Access多表查询技巧

  看到大家很多不会多,其实有个很简单的办法具体方法: 打开你的ACCESS 数据库对象(选择查询)   添加你要查询的表,可以是多个   然后选择他们关联的ID,然后下面选择你要查询的表字段   最后在 在空白处右键选择 SQL视图   得到正确的多表查询.         注:更多精彩教程请关注三联设计教程 栏目,

asp.net和asp下ACCESS的参数化查询_javascript技巧

今天我就把我用ACCESS参数化查询的一些方法和经验和大家分享 希望对大家有所启发,有写的不对的地方希望高手们多多指教 ASP.NET 用OleDbCommand的new OleDbParameter创建参数货查询 ASP用Command的CreateParameter 方法创建参数化查询 (SQL储存过程查询也是用这个方法建立的) ASP.NET C#语法 OleDbParameter parm = new OleDbParameter(Name, Type, Direction, Size,

ASP在ACCESS中模糊查询"内存溢出"的解决方法

今天在日常维护一个网站时,发现该网站的留言程序没有经过严格的验证过滤,导致了将近十万条垃圾数据.而其中又不乏重要信息,需要清理数据,以及增加更为严格的验证措施. 而通过在数据库中直接删除又不太科学,会误删很多重要信息. 通过 模糊查询语句: 复制代码 代码如下:select * from Feedback where Comments like '%http%' 结果:"内存溢出" 经过不断的搜索,找出了问题的主要原因: asp 中用 LIKE 关键字查询日文符号就会出错,比如说Chr

oracle系统表查询

oracle  数据字典dict总是属于Oracle用户sys的. 1.用户: select username from dba_users; 改口令 alter user spgroup identified by spgtest; 2.表空间: select * from dba_data_files; select * from dba_tablespaces;//表空间 select tablespace_name,sum(bytes), sum(blocks) from dba_fre

获取access库中表的个数及表的名称[收藏]

access '功能:获取access库中表的个数及表的名称'用ado怎样实现'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)'----------------------------------------------------------------------------Private Sub Form_Load()Dim adoCN   As New ADODB.Connection                '定义数据库的连

获取access库中表的个数及表的名称

'功能:获取access库中表的个数及表的名称 '用ado怎样实现 '工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) '---------------------------------------------------------------------------- Private Sub Form_Load() Dim adoCN As New ADODB.Connection '定义数据库的连接 Dim strCnn As New