1
我有一个数据适配器,包含数据集中的4个表。当我将新记录更新到表中时,它出现在SQL数据库中,并且关联的datagridivew已被重新加载到表中,但是当我尝试使用以下代码读取新记录时,它无法找到记录。无法从表中读取新记录
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()
任何人都可以提供任何想法,为什么这不会允许新的记录回读的代码。
感谢 丰富
你从哪里得到intRecordId?你确定它的正确价值吗? ID列是int吗? – robnick
intRecord从datagridview中从数据库中的pkey值中获取。它适用于数据库中存在的所有其他记录,只是新添加了它找不到的记录。 –
'dsSrvAV'在两个地方都明确指向相同的'DataSet'对象? –