2 caohuan95568 caohuan95568 于 2016.01.13 20:23 提问

数据库连接时,在combobox中出现显示ACCESS中所有表名时出现系统表

![图片说明](http://img.ask.csdn.net/upload/201601/13/1452687789_922371.png)图片说明

怎么在显示的时候将这些系统表名去除呢?
我在ACCESS中显示表名的时候,系统表没有显示,但是用C#在combobox中显示所有表名时,尽然把系统表都显示出来了,请问怎么改C#语言

4个回答

caozhy
caozhy   Ds   Rxr 2016.01.13 20:36
 你可以加上一个判断
if (!表名.Contains("~TMP"))
    comboBox1.Items.Add(表名);
guwei4037
guwei4037   Ds   Rxr 2016.01.13 20:39

这不是系统表,这些都是临时表。

sql语句里面过滤一下。

caohuan95568
caohuan95568 这个语句怎么写呢
接近 2 年之前 回复
caohuan95568
caohuan95568   2016.01.13 21:10

图片说明

save4me
save4me   Ds   Rxr 2016.01.13 21:34

你可以使用下面的查询语句

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

Type=1表示是表,而不视图或者报表等
Flags=0表示常规表,而不是系统表临时表等
另外,在工具->选项里面有个系统表的选项。如果你遇到权限错误,可以参考如何设置Access访问msysobjects系统表权限 ,虽然翻译错误不少,但是应该可以看明白。

caohuan95568
caohuan95568 为什么我的程序中没有type和flags
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!