分享

Access:如何枚举表名和字段名

 quasiceo 2013-12-17

Access:如何枚举表名和字段名

2011-10-21  Tech            

access 权限 系统表
access 显示系统表

一、枚举表名

SQL语句: SELECT [NAME] FROM [MSysObjects] WHERE Type=1 AND Flags=0 Order By [Name]

其中[MSysObjects]为系统表之一,[Name]为表名,默认情况下是无法直接访问access的系统表的,会提示没有权限,只有手工设置了读权限后才可以。

1. 打开Access

2. 点击“工具”菜单,选择“选项”

3. 在“视图”页上,将“系统对象”勾上

4. 点击“确定”按钮保存设置

5. 点击“工具”菜单,选择“安全”中的“用户与组权限”

6. 选择“权限”页

7. 在“对象类型”下拉列表中选择“表”

access 显示系统表

8. 在“用户名/组名”中选择“管理员”用户

9. 在“对象名称”中选择“MSysObjects”表

10. 在“权限”中将“读取数据”勾上

access 系统表读取权限

11. 点击“确定”按钮保存设置

枚举表名

 select name from msysobjects where  type=1 and flags=0

二、枚举列名

1
2
3
4
5
Set Rs = Conn.Execute("Select * From [TableName]")
For Count=0 to Rs.Fields.Count-1
    Response.Write Rs.Fields(Count).Name
Next
Rs.Close:Set Rs=nothing

三、其他应用

隐藏表:

既然可以显示出来系统表,那么就可以隐藏系统和普通表

我见过不少程序将注册信息存贮在表内然后隐藏以防止注册信息被找到和破解

初步猜测是设定某个普通表的属性为系统表,但是权限保留,即:不可见但可读写

有兴趣的话可以去尝试一下,这不是本文重点,所以就不尝试了。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多