Vb.net 更新ms access数据库时出现重复
以下是错误: 请帮忙,这是我的代码: 如何解决此错误Vb.net 更新ms access数据库时出现重复,vb.net,ms-access,Vb.net,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
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
您需要检查数据库中的表-其中一列被索引并且只能包含唯一值,或者有一些其他限制 您在该列中输入了无法保存的数据
尝试直接在表上手动“更新”数据,您将看到问题所在…您似乎没有文件
F:\ACCESS DATABASE\search.mdb
检查access数据库文件的路径。您指向的错误消息如下: “F:\ACCESS DATABASE\search.mdb”不是有效路径
显然,您在
conn.ConnectString=…
行中错误地键入了db的路径。请将您遇到问题的代码以及任何错误消息一起发布到您的问题中。您可能包含了错误的错误消息。如果出现重复的记录错误,您可能希望检查表中的唯一索引。是否有必要在文件名周围加上引号并加上空格,例如,“Provider=Microsoft.Jet.OLEDB.4.0;Data Source='F:\ACCESS DATABASE\search.mdb'?我不知道,因为我不在Jet中使用ODBC,也不在文件名或文件夹名中使用空格。不知道,因为它与我用于添加条目的代码相同,而且有效。唯一的区别是命令生成器部分和.update