我用vb作了一个小程序,用的是access数据库,连接字符串如下:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Canshu.mdb;Persist Security Info=False"。     
其中app。path的路径为E:\新建文件夹,如果我直接点击查询时,没有任何问题;
但是,我要打开不在同一目录下的文件后,例如打开F:\文件夹\as.avi。再点击查询时,它就提示我找不到“F:\文件夹”路径下的数据库。我单步调试时,当前的路径还是“E:\新建文件夹”
希望各位大侠给予指点,是不是CommonDialog控件不能用呀??

解决方案 »

  1.   

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CommonDialog.filename &";Persist Security Info=False"。
      

  2.   

    同意楼上的,最好用CommonDialog来选择数据库所在,这样比较灵活。
      

  3.   

    CommonDialog  會改變應用程序的APP.PATH屬性建議你在程序運行初始,用一變量保存APP.PATH屬性的值,在打開數據的連接時用該變量,而不是APP.PATH屬性來指數據庫的路徑.
      

  4.   

    楼上几位兄弟:
    你们说得那几个建议都不可以呀,因为我得数据库和我得应用程序在同一目录下,所以不能用"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CommonDialog.filename &";Persist Security Info=False"进行连接。我设置了一个变量,保存了当前路径,之后还是同样的问题出现。
      

  5.   

    按照楼主的意思来说,
    COMMDIALOG不会改变数据库的路径啊?
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Canshu.mdb;Persist Security Info=False"。 我感觉是这个问题,就是因为你不是建立一个全局的连接变量,这样就不会因为默认路径的改变而改变了!
    因为一个查询只是一个RECORDSET的问题,可以用同一个连接来进行查询!楼主现在可以试一下!