我有一个数据集中有4个表的数据适配器。当我将新记录更新到表时,它出现在SQL数据库中,并且关联的datagridivew已经重新加载了表中的dat,但是当我尝试使用以下代码读取新记录时,它无法找到记录。
Dim row As DataRow = dsSrvAV.Tables("ServiceAvailability").Select("ID = " & intRecordID).FirstOrDefault()
相同的代码用于读取应用程序打开时数据库中的其他记录,它只是无法读取的新记录。
这是编写新记录的代码
Dim newAvailability As DataRow = dsSrvAV.Tables("ServiceAvailability").NewRow()
'Add some data to it
newAvailability("Service_ID") = cboServices.SelectedValue
newAvailability("Date") = Format(dtpDate.Value.ToString, "Short Date")
newAvailability("Downtime") = nudDowntime.Value
newAvailability("Notes") = txtNotes.Text
newAvailability("MajorIncident") = txtMajorIncident.Text
newAvailability("ActionsTaken") = txtActionsTaken.Text
newAvailability("Type") = cboType.SelectedValue
newAvailability("Root_Cause") = txtRootCause.Text
'Add it to the table
dsSrvAV.Tables("ServiceAvailability").Rows.Add(newAvailability)
'Update the adapter
daSrvAv.Update(dsSrvAV, "ServiceAvailability")
dsSrvAV.Tables("ServiceAvailability").AcceptChanges()
任何人都可以提出任何想法,为什么这不会允许回读新记录。
由于 富
答案 0 :(得分:0)
每条评论 - 这解决了这个问题。
关闭dsSrvAv数据集,然后重新打开它,然后执行选择。
Regardng性能:你是否每秒增加1,000条记录。如果它的1,000,000然后肯定有开销。如果每秒1,则没有任何明显的开销。