方法不复杂, 用不指定数据库的方式连接, 查询 sysdatabases 表就知道了
select *
from sysdatabases where name='baobiao'

解决方案 »

  1.   

    终于弄出来了,由于不懂VBS和数据库,硬查资料写出来的,可能有不规范和不对的地方,请大侠们指点下,谢谢了
    Sub OnClick(Byval Item)                                                                                               
    Dim strcn
    Dim conn
    Dim oCom
    Dim oRs
    Dim n
    Dim Sql
    Dim Sql1 
    Dim riqi
    Dim t,c,d
    Sql="Select *  from  master.dbo.sysdatabases where name='baobiao1'"
     
    strcn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist SecurityInfo=False;Initial Catalog=master;Data Source=.\wincc"
       
       Set conn = CreateObject("ADODB.Connection")
       
        conn.ConnectionString = strcn
        
        conn.CursorLocation = 3
        conn.Open 
       Set oRs = CreateObject("ADODB.Recordset")
         
        Set oCom = CreateObject("ADODB.Command")
        
        oCom.CommandType = 1
        
        Set oCom.ActiveConnection = conn
        
        oCom.CommandText = Sql
       
        Set oRs = oCom.Execute
         
        n = oRs.RecordCount
        MsgBox n
    If n=0 Then 
    t= HMIRuntime.ActiveProject.Path
    c=t&"\sql\baobiao1_Data.MDF"
    d=t&"\sql\baobiao1_log.ldf"
    Sql1 = "exec sp_attach_db 'baobiao1','"& c &"','"& d &"'"
    conn.Execute Sql1
    MsgBox "报表数据库文件添加成功", vbOK, "提示"
    End IfEnd SubN=0时数据库不存在
    N=1时数据库存在
      

  2.   

    补充一下, 其实应该是  master..sysdatabases
      

  3.   

    其实就是用一下  select db_id('databasename')  看看是不是null就可以判断了