以下是錯誤: http://screencast.com/t/ZDVhNmJiOTgt重複在更新的MS Access數據庫
請幫幫忙,這裏是我的代碼: 我能做些什麼來解決這個錯誤
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
請將您遇到問題的代碼與任何錯誤消息一起發佈到您的問題中。 – Fionnuala 2010-01-11 12:45:41
看來你可能已經包含了錯誤的錯誤信息。如果您收到重複的記錄錯誤,您可能希望檢查您的表是否有唯一的索引。 – Fionnuala 2010-01-11 13:30:20
是否有必要在文件名中加上空格,例如:類似於「Provider = Microsoft.Jet.OLEDB.4.0; Data Source ='F:\ ACCESS DATABASE \ search.mdb'」?我不知道,因爲我不使用ODBC的Jet,也不使用文件或文件夾名稱中的空格。 – 2010-01-11 19:16:01