如何用SQL语句来判断已知表是否存在

2016-01-29 16:03 11 1 收藏

如何用SQL语句来判断已知表是否存在,如何用SQL语句来判断已知表是否存在

【 tulaoshi.com - SQLServer 】

如何判断库中已知表是否存在今日受人之托,帮他解决这个问题,代码为通常的引用Dao做的一模块:

 

Function fExistTable(strTableName As String) As IntegerDim db As DatabaseDim i As Integer        Set db = DBEngine.Workspaces(0).Databases(0)        fExistTable = False    db.TableDefs.Refresh    For i = 0 To db.TableDefs.Count - 1        If strTableName = db.TableDefs(i).Name Then            'Table Exists            fExistTable = True            Exit For        End If    Next i    Set db = NothingEnd Function Private Sub 命令0_Click()fExistTableEnd Sub

用该事件出现‘参数不可选’的错误。仔细研究,发现fExistTable缺少参数,即已知表名没有在代码中反应。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

修改为:

Private Sub 命令0_Click()fExistTable(”需判断的已知表名”)End Sub

End Sub不再报错。仔细分析,其实是用 ”已知表名” 通过Dao判断数据库中是否存在,如果fExistTable的值为True就是存在,否则就是不存在。

解决问题之余,想起Access数据库也有系统表,存放有对象名,可否做一查询来判定?

经验证:

SELECT Count(*) AS QtyFROM MSysObjectsWHERE (((MSysObjects.Name) Like "需判断的已知表名"));

可以实现需求。如果Qty0,就表示表已存在,否则就不存在。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

来源:http://www.tulaoshi.com/n/20160129/1497252.html

延伸阅读
标签: SQLServer
下面是我用SQL的事件探察器设置跟踪,并生成的SQL脚本  现在有几个问题:   1.这个跟踪不会产生数据,用:   select * from ::fn_trace_getinfo(1)  可以看到状态是在运行,但 c:\test.trc 始终是空文件    2.在事件探察器中设置筛选时,ObjectType 的说明是对应sysobjects&nb...
标签: 孕前
从生活细节来判断是否怀孕 怀孕 征兆 月经突然不来了,许多女性马上心一悬。众所周知,这是怀孕的信号。实际上,生活中还有一些小变化可以帮助女性做出怀孕判断: · 排卵 期 性生活 史和停经史 夫妻 双方没有采取任何 避孕 措施,在排卵期前后有正常的性生活史,平时月经周期正常,突然出现5...
显示某个Sql Server某个数据库中所有表或视图的信息 sql server 2000 与 2005 不同 差别在于 红色字部分 以下语句为获取所有表信息,替换绿色黑体字"U"为"V"为获取所有视图信息。 Sql Server 2000 版本 SELECT Sysobjects.name AS TABLE_NAME, syscolumns.Id, syscolumns.name AS COLUMN_NAME, systypes.name AS DATA_TYPE, syscolumns.le...
a                  b                             c       &n...
在SQL中,很多威力都来自于将几个表或查询中的信息联接起来,并将结果显示为单个逻辑记录集的能力。在这种联接中包括INNER、LEFT、RIGHT这三种JOIN操作。 首先我们来讲讲INNER JOIN 的用法:INNER JOIN 语句可以用来组合两个表中的记录,只要在公共字段之中有相符的值即可,在语法上,INNER JOIN 是这样定义的。 举个例子:...

经验教程

959

收藏

43
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部