这是错误: http://screencast.com/t/ZDVhNmJiOTgt
请帮忙,这是我的代码: 我该怎么做才能解决这个错误
Try
If MessageBox.Show("Save and update database?", _
"Confirmation", MessageBoxButtons.YesNo) = _
Windows.Forms.DialogResult.Yes Then
Dim idXs As Integer
Dim dSet As New DataSet
Dim conn As New OleDb.OleDbConnection
Dim strSQL As String
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\ACCESS DATABASE\search.mdb"
conn.Open()
strSQL = "Select * From GH"
Dim da As OleDbDataAdapter
da = New OleDb.OleDbDataAdapter(strSQL, conn)
da.Fill(dSet, "GH") 'fill dataset
'code for editing records
Dim cb As New OleDbCommandBuilder(da)
idXs = Form1.idX 'retrieve index from Form1
dSet.Tables("GH").Rows(idXs).Item(0) = TextBox1.Text
dSet.Tables("GH").Rows(idXs).Item(1) = TextBox2.Text
dSet.Tables("GH").Rows(idXs).Item(2) = TextBox3.Text
dSet.Tables("GH").Rows(idXs).Item(3) = TextBox4.Text
da.Update(dSet, "GH") 'update database
conn.Close() 'close connection
reloadMyMain() 'show new changes in form1 if any
Else
DSET.RejectChanges() 'cancel delete
End If
Catch ex As Exception
MsgBox(ex.ToString) 'show exception message
End Try
答案 0 :(得分:2)
您需要检查数据库中的表 - 其中一列是索引的,只能包含唯一值,或者有其他限制。
您在该列中输入了无法容纳的数据。
尝试直接在桌面上手动“更新”数据,你会看到有什么问题......
答案 1 :(得分:0)
您似乎没有文件F:\ACCESS DATABASE\search.mdb
。
检查访问数据库文件的路径。
答案 2 :(得分:0)
您指向的错误消息为:
'F:\ ACCESS DATABASE \ search.mdb'不是有效路径。
显然您在conn.ConnectString = ...
行中错误输入了数据库的路径。