У меня есть адаптер данных с 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()
Можно ли предлагать какие-либо мысли о том, почему это не позволит новых записей для последующего чтения.
Благодаря Rich
Откуда вы получаете intRecordId? Вы уверены, что это правильное значение? Является ли столбец идентификатора int? – robnick
intRecord берется из datagridview, который получает его из значения pkey в базе данных. Он работает нормально для всех других записей, которые существуют в базе данных, это просто новые, которые он не может найти. –
И 'dsSrvAV' определенно указывает на тот же объект DataSet в обоих местах? –