我正在放弃...我正在使用带有连接的Access数据库的DataAdapters,(测试好了),数据集得到了很好的更新,但位于我的项目根文件夹中的数据库永远不会更新我尝试插入或删除。这是我正在使用的删除;
Private Sub btnDeleteJob_Click(sender As Object, e As System.EventArgs) Handles btnDeleteJob.Click
Dim delJobID = ComboBox2.SelectedValue
Dim delJobRowAdpt As New DCGDataSetTableAdapters.MainTableAdapter
Dim delJobRow As DCGDataSet.MainRow
Dim intDelete As Integer
delJobRow = DCGDataSet.Main.FindByID(delJobID)
delJobRow.Delete()
intDelete = delJobRowAdpt.Update(DCGDataSet.Main)
If intDelete = 1 Then
MessageBox.Show("Job Deleted")
'comboClear()
clearTabOne()
'ComboBox2.SelectedValue = -1
Me.MainTableAdapter.Fill(Me.DCGDataSet.Main)
Else
MessageBox.Show("Job Failed to Delete")
End If
ComboBox2.SelectedValue = -1
End Sub
我的插入代码;
Private Sub btnAddNew_Click(sender As Object, e As System.EventArgs) Handles btnAddNew.Click
' Add new Job to the database
Dim newJobRow As New DCGDataSetTableAdapters.MainTableAdapter
Dim intInsert As Integer
Dim jobText = txtBoxAddNewJob.Text
intInsert = newJobRow.InsertJob(jobText) 'InsertJob Adapter = INSERT INTO `Main` (`tbl_Job_Name`) VALUES (?)
If intInsert = 1 Then
MessageBox.Show("New Job Added")
' Update the comboBox values
newJobRow.Fill(DCGDataSet.Main)
'Me.MainTableAdapter.Fill(Me.DCGDataSet.Main)
'newJobRow.Insert(jobText)
newJobRow.Update(DCGDataSet.Main)
'DCGDataSet.AcceptChanges()
txtBoxAddNewJob.Text = ""
clearTabOne() ' Label5.Visible = False ComboBox3.Visible = False
Else
MessageBox.Show("Job Not Added")
End If
End Sub
这是我的dataSet
如果我关闭我的应用程序并在我的Bin / Debug文件夹中打开数据库文件,则会有更改,但只有在我再次运行应用程序之后。我知道我很亲近,但我被困住了,我需要另一双眼睛......
答案 0 :(得分:1)
我想当你将数据库添加到项目时,你已经允许Visual Studio创建数据库的副本。
请测试此解决方案:从项目中删除数据库并重新添加。这一次,在添加的最后一步,当visual studio询问您在解决方案目录中创建数据库副本时,选择否。
如果您选择YES,则每次运行程序时,都会在Bin / Debug文件夹中创建数据库的新副本,并且您的更改会影响此副本,当您停止执行时,此副本将被删除。
注意:如果你有连接字符串,请不要忘记更正
我希望能帮助你解决这个问题。 如果我的写作不正确,请原谅。我是英语初学者,但我很快就会学到它......
答案 1 :(得分:0)
您需要在项目的根目录中更改数据库文件复制到输出目录属性。该属性的默认设置是“始终复制”。您可能需要的设置是“Copy If Newer”。只有在对数据库进行一些更改并构建项目时,才会从项目根目录复制数据库。现在,如果您在测试运行中进行了一些更改,那么这些更改仍将在您的下一次测试运行中出现。
这家伙有同样的问题:Can I commit changes to actual database while debugging C# in Visual Studio?