都是放在同一个工程里,同一个窗体里面,却出现不同的情况。而且是早上还好好的,下午出现这种情况了,这是什么问题
这条能连上:
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
db.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=weryuk;Data Source=" & "192.168.10.2"
db.Open用下面的却连接不上:
private sub  main_load()
    Dim IPstr As String, DSstr As String
    IPstr = "192.168.10.2"
    DSstr = "weryuk"
    Dim flag As Boolean
    flag = testconn(Trim(IPstr), Trim(DSstr))
    If Not flag Then
        MsgBox "数据库连接失败!", vbExclamation
        Exit Sub
    End If
end sub
Public Function testconn(IPstr As String, datastr As String) As Boolean
    connstr = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=" & datastr & ";Data Source=" & IPstr                                  '全局变量connstr 、conn
    Set conn = New ADODB.Connection
On Error GoTo err:      
    conn.ConnectionTimeout = 1
    conn.CommandTimeout = 0
    conn.Open connstr  
    If conn.State = adStateOpen Then
        testconn = True
        Exit Function
    End If
err:
    testconn = False
End Function

解决方案 »

  1.   

    你上面的是C#、下面的是VB是吧?我觉得前提是你没动过任何东西,而以前都能用的话,就检查一下VB和C#的连接功能是否有什么比较隐蔽的机关,我很久没弄过编程语言了。帮不上忙。但是连接数据库一般都是服务、密码的问题。
      

  2.   

    仁兄,首先更正下你的说法,LZ贴出来的都是VB的代码。
    LZ下面语句连不上的原因,我猜很可能是在testconn函数中的connstr赋值语句有问题,LZ可以用你上面的connectionstring直接替换测试下就知道了。
      

  3.   

    你的连接字符串中Integrated Security没有设置,默认值是false,也就是你必需提供
    你的账号和密码,把你的密码写入到你的连接字符串就可以了