尝试打开Access .mdb文件时找不到文件“... \ bin \ Debugdb.mdb”

时间:2014-02-22 13:37:44

标签: vb.net ms-access oledb

我正在尝试创建一个连接到Access 2003数据库的非常简单的应用程序。 我建立了一个非常简单的用户界面,带有7个标签和7个文本框,只有2个按钮:其中一个是“保存”,另一个是“退出”。

在我的表单中,我添加了代码:

Imports System.Data
Imports System.Data.OleDb

Public Class Form1


Private Sub Button1_Click(ByVal sender As System.Object, 
              ByVal e As System.EventArgs) Handles Button1.Click
    'Try
    Dim saveinto As New OleDb.OleDbCommand
    Dim constr As String = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" & Application.StartupPath & "db.mdb"
    Dim conn As New OleDb.OleDbConnection(constr)
    saveinto.Connection = conn
    saveinto.CommandType = CommandType.Text
    saveinto.CommandText = " insert into users(id,username,nid,money,mode,help,yesorno) " & " values ('" & TextBox7.Text & "' ,'" & TextBox1.Text & "' , '" & TextBox2.Text & "','" & TextBox3.Text & "' , '" & TextBox4.Text & "' , '" & TextBox5.Text & "' , '" & TextBox6.Text & "')"
    conn.Open()
    saveinto.ExecuteNonQuery()
    conn.Close()
    MsgBox("All Done :P ")
            Exit Sub

End Sub

当我按下保存按钮时出现错误:

  

System.Data.dll`中出现'System.Data.OleDb.OleDbException'类型的第一次机会异常

并且它第一次看到它,我认为我的系统(WinVista :)或数据库(使用我的Access 2007构建然后转换为2003)出错了,我卸载Access 2007并安装2003然后重建新数据库和用它替换旧的。

当我运行我的应用程序并按下保存按钮时,我收到了与

相同的错误消息
  

OledbException未处理Could not find file 'C:\Users\Mahmoud\Documents\Visual Studio 2008\Projects\Test\Test\bin\Debugdb.mdb

我在问这个问题之前在这里搜索但是我找不到相同的问题而且我试图从类似的错误中应用一些建议但没有发生任何事情,所以原谅我,如果重复一个问题,请求帮助。 谢谢

2 个答案:

答案 0 :(得分:0)

似乎Application.StartupPath返回

C:\Users\Mahmoud\Documents\Visual Studio 2008\Projects\Test\Test\bin\Debug

并且没有尾部反斜杠(\),因此当您向其附加db.mdb时,您会得到一条实际上并未指向数据库文件的路径。试试

... Application.StartupPath & "\db.mdb"

代替。

答案 1 :(得分:0)

(由于我没有足够的声誉在这里评论,我不得不输入这个作为答案)

您的代码中缺少反斜杠。 正如Gord Thompson所说,你需要尝试这个:

... Application.StartupPath & "\db.mdb"

..而不是:

Application.StartupPath & "db.mdb"