string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + @"\database\xcrs.mdb";string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.IO.Directory.GetCurrentDirectory() + @"\database\xcrs.mdb";string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"database\xcrs.mdb";上述连接在form中直接数据操作都是正常的,
但新建一个用户控件,在这个用户控件中做数据操作,再把这个用户控件拖出去form就会提示错误:'e:\Microsoft Visual Studio 8\Common7\IDE\database\xcrs.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
附错误图片:http://www.globalet.com/gb/ls/why.jpg
路径怎么跑去了:'e:\Microsoft Visual Studio 8\Common7\IDE\database\xcrs.mdb'?????
很不解,只有string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"D:\web\hebao\WebSunGZSystem\WebSunGZSystem\database\xcrs.mdb";这样写才没错误信息怎么解决啊?

解决方案 »

  1.   

    System.IO.Directory.GetCurrentDirectory()这个路径是主程序的执行目录
      

  2.   

    跑到e:\Microsoft Visual Studio 8\Common7\IDE是因为你的控件执行目录是这个
      

  3.   

    解決方法:
    就是要用相對路徑來解決
    string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + @"\database\xcrs.mdb";
      

  4.   

    解決方法:
    就是要用相對路徑來解決
    string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + @"\database\xcrs.mdb";DataBase文件夾和執行檔.exe 在同一級
      

  5.   

    上面也试过Application.StartupPath 这个方法啊还是跑去Microsoft Visual Studio 8\Common7\IDE 了
      

  6.   

    AppDomain吧。这样目录只会在你的虚拟目录之下!