vb+access+ado我用ado连接数据库输入App.Path & "\STM.mdb"
但是单击测试连接时出现错误:
初始化提供着中发生错误,测试连接失败。文件名无效!
从早上到现在还没连上弄了几个小时!~~~

解决方案 »

  1.   

    检查一下你的connectionstring
    看看是不是"provider=microsoft.jet.oledb.4.0;datasource=" & app.path & "\stm.mdb;jet oledb:system database=system.mdw;admin;"
      

  2.   

    '工程->引用->Microsoft ActiveX Data Objects 2.X Library
    '莫依MM原创Option ExplicitPrivate Rs As New ADODB.Recordset
    Private Conn As New ADODB.ConnectionPrivate Sub Form_Load()
     Dim strConn As String
     
     ' 连接数据库的字符串
     ' 连接带密码的数据库,直接在连接符后面加上Jet OLEDB:DataBase Password='您的密码'
     ' 连接Access97数据库需要使用Jet.OLEDB.3.5,Access2K和以上数据库使用Jet.OLEDB.4.0
     strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False"
     
     ' 使用客户端数据游标
     Conn.CursorLocation = adUseClient
     ' 打开Access的连接
     Conn.Open strConn
     
     ' 如果RecordSet的状态不是关闭状态,则关闭Recordset
     If Rs.State <> adStateClosed Then Rs.Close
     
     ' Recordser打开表People
     Rs.Open "Select * from People", Conn, adOpenKeyset, adLockOptimistic
     
     ' 报告出 一共多少笔数据,测试是否存在数据
     ' MsgBox Rs.RecordCount
     
     ' 绑定进DataGrid
     Set DataGrid1.DataSource = Rs
     
    End Sub
      

  3.   

    Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DataBase\DbName.mdb;Persist Security Info=False"
    这是我的一个没有问题的ConnectionString,对比一下看看怎么回事
    如果不行,再看看你的Application是不是和你的数据库文件在同一层,我的就没有在同一层。
      

  4.   

    开始的时候我就直接用直接路径
    在用ado连接数据库时单击ConnectionString属性Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\kcm\软件2\PLC\STM.mdb;Persist Security Info=False单击浏览F:\kcm\软件2\PLC\STM.mdb连接的数据库。连接成功!~~~
    后来用ado连接数据库时单击ConnectionString属性Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\STM.mdb;Persist Security Info=False单击浏览=app.path &"\STM.mdb"连接的数据库。不管怎样也连不上:
    出现错误提示:初始化提供着中发生错误,测试连接失败。文件名无效!
      

  5.   

    我怕代码!~~~因为数据库我了解不多,想直接在ConnectionString属性里面该!~~~
      

  6.   

    在PLC文件夹下。我所有的窗体和工程、数据库都在PLC文件夹下!~~~
      

  7.   

    我刚刚把我的小软件的数据库文件名改了一下,出现了你的找不到文件的错误,
    你给你的ConnectionString后面加上一个",我看你的好象少了一个
      

  8.   

    嘿嘿,少了能自动加的,晕了
    我没有办法了,我看只能重新生成ConnectionString,或者重写了
      

  9.   

    msgbox app.path   看看path后面是否有\。
      

  10.   

    或者,msgbox App.Path & "\STM.mdb"  看一下结果是不是和你的数据位置一致~
      

  11.   

    ......
    后来用ado连接数据库时单击ConnectionString属性
    ......
    ************************************************
    这是什么意思?
    你用了ADODC控件?
    前面ljhdi() 的代码,是不要用任何ADO控件连接数据库的
      

  12.   

    你新建一个工程,在窗体上放一个按钮,其它什么控件都不要。保存你的这个工程和数据库文件在同一目录下,添加代码如下 :
    '工程->引用->Microsoft ActiveX Data Objects 2.5 LibraryOption ExplicitPrivate Sub command_click()dim cn as new adodb.connection
    dim str as string
    str = "Provider=Microsoft.Jet.OLEDB.4.0;"& _
          "Data Source=" & App.Path & "\STM.mdb;& _
          "Persist Security Info=False"
    cn.open str
    if cn.stste=adstateopen then
        msgbox"连接成功"
    else
        msgbox"连接失败"
    end if
    end sub