none
大家好,请教ACCESS数据库问题 RRS feed

  • 问题

  • 大家好,请教:vb.net编程时,access数据库是放在工程根目录下的,
    Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Picture.mdb;Persist Security Info=True;Jet LEDB:Database Password=lt;"
    这样写,提示找不到数据库
    Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\..\..\Picture.mdb;Persist Security Info=True;Jet OLEDB:Database Password=lt;",这样写就可以
    这是为什么呢?还有,一般情况下access应该放在什么位置呢 ,谢谢
    昨夜西风凋碧树,独上高楼,望尽天涯路!
    2009年9月20日 3:12

答案

  • 作为本地测试直接写
    Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/Picture.mdb;Persist Security Info=True;Jet LEDB:Database Password=lt;"

    就可以了,发布的时候写
    Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Picture.mdb;Persist Security Info=True;Jet LEDB:Database Password=lt;"

    将exe与mdb放在同一文件夹下即可。

    这样便于调试和查找数据库
    【孟子E章】
    • 已标记为答案 litianlt 2009年9月21日 6:18
    2009年9月20日 6:18
    版主

全部回复

  • 你好 Application.StartupPath是指获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称

    可能是由于你在调试 比如因为那个程序是在bin/debug/...exe

    你程序做完后发布了用第一个方法 只要exe和mdb在同一目录下就不会出错的
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年9月20日 3:27
    版主
  • 你好,谢谢,我用DataGridView控件连接数据库时,连接字符串中的数据库所在路径是死的,移到另一个地方就不能用了,能不能把链接字符串改成向Application.StartupPath那样访问数据库呢?
    昨夜西风凋碧树,独上高楼,望尽天涯路!
    2009年9月20日 3:39
  • 原因如 1987raymond版主反说,你把你的数据库文件拷到 bin/debug 目录下面,使用第一种方式就可以了
    知识改变命运,奋斗成就人生!
    2009年9月20日 3:52
    版主
  • 你好,谢谢,但是路径不一样呀,在c盘可以,但放到d盘就不行了
    昨夜西风凋碧树,独上高楼,望尽天涯路!
    2009年9月20日 5:40
  • Application.StartupPath 返回你的当前应用程序的目录路径,这个和你放在哪里盘是没有关系的。你检查是否在 D 盘相关目录下是否放了数据库文件。


    知识改变命运,奋斗成就人生!
    2009年9月20日 5:44
    版主
  • 作为本地测试直接写
    Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/Picture.mdb;Persist Security Info=True;Jet LEDB:Database Password=lt;"

    就可以了,发布的时候写
    Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Picture.mdb;Persist Security Info=True;Jet LEDB:Database Password=lt;"

    将exe与mdb放在同一文件夹下即可。

    这样便于调试和查找数据库
    【孟子E章】
    • 已标记为答案 litianlt 2009年9月21日 6:18
    2009年9月20日 6:18
    版主
  • 你好!
         一般放到你的exe的同一目录下就可以了,另外,一般连接字符串是写在配置文件中的,而不是直接写到程序中的,这样方便以后修改!
    周雪峰
    2009年9月20日 6:22
    版主
  • 你好,谢谢


    昨夜西风凋碧树,独上高楼,望尽天涯路!
    2009年9月21日 6:17