我在使用数据集通过VB.NET更新Microsoft Access数据库时遇到问题。通常这种更新数据库的方法对MySql起作用,但是在使用本地Access数据库文件后,我无法使用新数据更新文件。
任何帮助表示赞赏!
Dim activeUnitNewRow As DataRow = AssignmentDataSet.activeUnits.NewRow
Try
activeUnitNewRow("Tutor") = tutorComboBox.SelectedItem.ToString
activeUnitNewRow("Unit") = unitComboBox.SelectedItem.ToString
activeUnitNewRow("Assignment") = assignmentNumberInput.Value
activeUnitNewRow("Progress") = 0
activeUnitNewRow("Formative HandIn") = formativeHandinInput.Value
activeUnitNewRow("Final HandIn") = finalDateInput.Value
AssignmentDataSet.activeUnits.Rows.Add(activeUnitNewRow)
Try
Me.Validate()
ActiveUnitsBindingSource.EndEdit()
Me.ActiveUnitsTableAdapter.Update(Me.AssignmentDataSet.activeUnits)
SavedIconAssignment.Visible = True
Console.WriteLine("Saved Assignment to Database!")
Catch ex As Exception
MessageBox.Show("Sorry! The was a problem adding the new assignment to the database. Please try again.")
Console.WriteLine("ERROR SAVE ASSIGNMENT DATABASE: " & ex.ToString)
End Try
Catch ex As Exception
MessageBox.Show("Sorry! The was a problem with your values!")
Console.WriteLine("VALUE ERROR QUICK ASSIGNMENT:" & ex.ToString)
End Try
解决: 默认情况下,Microsoft Studio将Microsoft Access数据库文件复制到" Bin"文件夹,我当时没有注意到这一点,并且认为在将表格适配器发送到错误的文件时,它不会从表适配器向数据库发送更改。
对于我的问题,我将连接设置字符串中的数据库位置更改为我使用的一个数据库而不是项目位置,并将数据源设置为"不要复制&#34 ;在解决方案资源管理器中。
请注意我只是6个月编程的初学者,所以如果这是一个更有效的解决方案请说。