VB中用Restore语句恢复数据库时,怎么判断某一数据库已存在,或者正在使用?因为在这种情况下恢复会出错。
解决方案 »
- dialog.frm show后pause程序
- 请教高手:如何防止别人对我编的软件进行反编译?
- 请问用DBGrid控件能不能动态的绑定到指定的数据库啊!
- 怎么在屏幕的(X,Y)处输出字符,和怎么画线?
- 如何用VB读取txt文件中的数据,代码已经有了,就是不知道如何在txt中输入数据
- 光标放上窗口显示,否则框口隐藏
- 我的EMAIL在有瑞星的情况下发送不成功WHY
- 第一问:用MSFlexGrid显示数据怎么设置他显示的字段个数?第二问:我怎样打印显示出来的表呢?表中的一行能否双击弹出?
- 黑白bmp图象里都有什么?灰度还是?单个象素里记录了什么?
- 加急!求救!List中一行字符显示不下,而不想使用水平滚动条 !~
- 关于VB中菜单的问题:选择菜单中某一项,而其他菜单均无法选择,仅关闭当前窗体后才能使用菜单
- 大家看看这个函数怎么出错了???谢谢了!!!!
你的数据库是不是sql server
如果是的话,你可以使用:1.判断和恢复结合起来写
Object_ID()来判断数据库是否存在
sql可以这样写: if Object_ID(DatabaseName) is null restore ....
2.使用sp_helpdb存储过程可以返回一个recordset,第一个字段是name,记录集里面包括了当前
服务器上所有的sql数据库,接下来怎么判断你知道了吧。
Private Function funCheckDbBase() As Boolean
'看年度库是否存在
On Error GoTo Err_Normal
Dim sSql As String
Dim arec As New ADODB.Recordset
arec.ActiveConnection = padoCn
Set arec = padoCn.Execute(" sp_databases")
If arec.RecordCount <= 0 Then
funCheckDbBase = False
Exit Function
End If
Dim bTmp As Boolean
Dim sTmp As String
Do While Not arec.EOF
sTmp = arec.Fields(0)
If pcDataBaseName = sTmp Then 'DataBaseName
bTmp = True
Exit Do
End If
arec.MoveNext
Loop
If bTmp = True Then
funCheckDbBase = True
Else
funCheckDbBase = False
End If
Exit Function
Err_Normal:
funCheckDbBase = False
End Function