Vb.net 2010连接与MS Access 2007年
问题描述:
我使用具有10个文本框,1个寄存器按钮& 1退出按钮的形式。我已经在MS Access 2007中创建了该数据库并将该文件保存在桌面上。我已通过“添加新数据源”进行了连接。提供商&路径是:提供商= Microsoft.Jet.OLEDB.4.0;数据源= C:\用户\ SIPL \桌面\ Cust_Dtl.mdb。但是,当我点击注册了以下错误显示:Vb.net 2010连接与MS Access 2007年
con.Open() - Doesn't have a valid file name.
这里是我的代码:
Public Class Form2
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim constring As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\sipl\Desktop\Cust_Dtl.mdb" & System.IO.Directory.GetCurrentDirectory & "Cust_Dtl.mdb"
Dim insertcmd As System.Data.OleDb.OleDbCommand = New System.Data.OleDb.OleDbCommand
Dim con As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection
con.ConnectionString = constring
insertcmd.CommandType = CommandType.Text
insertcmd.CommandText = String.Format("INSERT INTO {0} VALUES ('{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}')", "Table1", TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text, TextBox7.Text, TextBox8.Text, TextBox9.Text, TextBox10.Text)
insertcmd.Connection = con
con.Open()
Try
insertcmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
con.Close()
End Sub
End Class
请帮助解决这个问题。谢谢。
答
你两次调用数据库中的字符串:
Dim constring As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\sipl\Desktop\Cust_Dtl.mdb" & System.IO.Directory.GetCurrentDirectory & "Cust_Dtl.mdb"
这使字符串 “C:\用户\ SIPL \桌面\ Cust_Dtl.mdbC:\用户\ SIPL \桌面\ Cust_Dtl.mdb”
删除任一C:\Users\sipl\Desktop\Cust_Dtl.mdb"
或& System.IO.Directory.GetCurrentDirectory & "Cust_Dtl.mdb