c#连ACESS时怎么判断某个表是否存在啊?

tianxiao7373 2007-05-28 03:17:45
c#连ACESS时怎么判断某个表是否存在啊?还有能不能直接读出来这个表当中有什么内容啊?
...全文
976 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiankai_6611 2007-05-29
  • 打赏
  • 举报
回复
good mark
北京的雾霾天 2007-05-29
  • 打赏
  • 举报
回复
好帖子,收了!
tianxiao7373 2007-05-28
  • 打赏
  • 举报
回复
从网上找到关于这个的说明,试过了,可以用了,谢谢了

如何设置Access访问msysobjects系统表权限
也是网上找到的方法,不过只有英文,偶翻译了一下,呵呵
默认情况下,在程序中是无法直接访问Access的系统表的,会提示没有权限,只有手工设置了读权限后才可以。
读取Access库中所有表名的SQL语句:select name from msysobjects where flags = 0

1. 打开Access

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

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

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

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

6. 选择“权限”页

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

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

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

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

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



1. Open Microsoft access
2. From the Tools menu, select the Options menu option
3. On the View tab, click the System Objects checkbox
4. Click OK to save your changes
5. From the Tools menu, select the Security -> User and Group Permissions menu option
6. Click the Permissions tab
7. Select the Table entry in the Object Type combo box
8. Select the Admin userid in the User/Group Name listbox
9. In the Object Name listbox, select the MSysObjects entry
10. In the Permissions group box, check the Read Data check box

OracleRoob 2007-05-28
  • 打赏
  • 举报
回复
Access的系统表。


-->“工具”菜单
-->选项
-->“系统对象”打上勾即可看到。
tianxiao7373 2007-05-28
  • 打赏
  • 举报
回复
MSysObjects是做什么用的?
OracleRoob 2007-05-28
  • 打赏
  • 举报
回复
tbl1?

应该是MSysObjects表。
tianxiao7373 2007-05-28
  • 打赏
  • 举报
回复
哦,好的,谢谢几位
wwwwb 2007-05-28
  • 打赏
  • 举报
回复
1、C#的问题请到相应的语言版块去问吧;
2、从SQL语句来看,没有问题。
tianxiao7373 2007-05-28
  • 打赏
  • 举报
回复
请帮我看看这么写错误出在哪
string dbCommand = null;
OleDbDataReader myDataReader = null;
string userName = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = c:\\06.mdb;";
this.DBConnect(userName);//连接名为06.mdb的数据库

dbCommand = "SELECT * FROM tbl1 WHERE Flags=0 AND Type=1 AND name = 'tbl1';";

DBSelect(dbCommand, ref myDataReader);//读取
try
{
while(myDataReader.HasRows)
{
string str2 = myDataReader[0].ToString();

}
}
catch (Exception ex)
{
}

try
{
dbCommand = "SELECT * FROM tbl1 WHERE Flags=0 AND Type=1;";

DBSelect(dbCommand, ref myDataReader);//读取

while (myDataReader.HasRows)
{
string str2 = myDataReader[0].ToString();

}
}
catch (Exception ex1)
{
}
this.DBDisconnect();//关闭连接06.mdb
wwwwb 2007-05-28
  • 打赏
  • 举报
回复
工具 -> 安全 -> 用户与组的权限
在对象名称中选定 MSysObjects ,然后权限中设置其权限。

wwwwb 2007-05-28
  • 打赏
  • 举报
回复
用C#ADO连接MDB,取得对MSysObjects操作的权限,
执行
SELECT *
FROM MSysObjects
WHERE Flags=0 AND Type=1
即可
OracleRoob 2007-05-28
  • 打赏
  • 举报
回复
--读出表中的内容:

select * from 表名
OracleRoob 2007-05-28
  • 打赏
  • 举报
回复
或者通过错误捕捉错误信息也可以。

捕捉表不存在的错误号,然后再做相应的处理。

OracleRoob 2007-05-28
  • 打赏
  • 举报
回复

--列出所有的用户表

SELECT *
FROM MSysObjects
WHERE Flags=0 AND Type=1



--用记录集打开如下SQL,如果有数据,则表示存在,否则,不存在。


SELECT *
FROM MSysObjects
WHERE Flags=0 AND Type=1 AND name = '你的表名'

7,730

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧