ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何使用VBA判断SQL Server的指定数据库是否存在?

如何使用VBA判断SQL Server的指定数据库是否存在?

作者:绿色风 分类: 时间:2022-08-17 浏览:121
楼主
wise
Q:如何使用VBA判断SQL Server的指定数据库是否存在?

利用SQL语句创建一个SQL Server 数据库名称的查询记录集,然后循环该查询记录集的每一个记录,如果记录中存在的数据库名称和指定的数据库名称一样,则说明该数据库存在;否则,该数据库不存在。

A:ALT+F11→插入模块,在模块中输入以下代码:
  1. Sub 判断指定数据库是否存在()
  2.     Dim StartTime As Variant, conn As Object, rs As Object, Mydata As String, SQL As String
  3.     '定义变量
  4.     StartTime = Timer
  5.     Mydata = "271模型"  '指定数据库名称为271模型
  6.     Set conn = CreateObject("ADODB.Connection") '建立ADODB连接对象
  7.    
  8.     conn.ConnectionString = "Driver={sql server};" _
  9.                             & "server=WISE-THINK;" _
  10.                             & "uid=;pwd=;" _
  11.                             & "database=" & Mydata & ";" _
  12.                             & "AutoTranslate=False"
  13.     '连接的服务器名称:WISE-THINK,所连接的数据库:271模型
  14.    
  15.     conn.Open '打开连接SQL server
  16.    
  17.     SQL = "SELECT NAME FROM SYSDATABASES"     '创建数据库名称的记录集合
  18.     Set rs = conn.Execute(SQL)                '执行SQL语句
  19.     '******循环判断指定名称的数据库是否存在***************
  20.     Do While Not rs.EOF
  21.        If LCase(rs.fileds("NAME")) = LCase(Mydata) Then  '如果名字一样
  22.            MsgBox "数据库" & Mydata & "存在", vbInformation
  23.            Exit Sub
  24.        End If
  25.       rs.MoveNext
  26.     Loop
  27.     MsgBox "数据库" & Mydata & "不存在", vbCritical
  28.    
  29.     '关闭记录集及数据库连接,并释放变量
  30.     rs.Close
  31.     conn.Close
  32.     Set conn = Nothing
  33.     MsgBox Timer - StartTime
  34. End Sub
2楼
eliane_lei
学习,但是还是不明白,求小灶大灶全灶!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap