Через много месяцев после создания исходной таблицы мне нужно было добавить дополнительный столбец (CB_NRP_Department).Когда я пытаюсь запустить программу, новый столбец не распознается.См. Приведенную ниже процедуру PopulateForm для отображения ошибки.
Я получаю сообщение об ошибке исключения
Столбец CB_NRP_Department не принадлежит таблице Tbl_New_Employee_Database.
Я даже удалил «xsd» New_EmployeesDataSet.xsd из обозревателя решений, а затем заново создал новый источник данных.Я получаю ту же ошибку.Что мне нужно сделать, чтобы программа распознала новый столбец?Чего мне не хватает?
Я проверил орфографические ошибки, проверил источник данных для существующего столбца, проверил, что новый столбец действительно находится в таблице и записан правильно.Я проверяю свойства ComboBox для проверки синтаксических ошибок.Все выглядит хорошо.Аналогичный ComboBox отлично работает.
Поскольку я изменил расположение исходной таблицы с локального диска «C» на сетевой диск, я также дважды щелкнул «Мой проект» для просмотра настроек.Настройки также выглядят корректно:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\nfmfile01\is_db\new_employees\New_Employees.mdb
Поскольку я думал, что программа просматривает неправильную таблицу, я также переименовал все локальные диски «C» «New_Employees.mdb» в «New_Employees_OLD.mdb.
If Not IsDBNull(ds.Tables("Tbl_New_Employees_Database").Rows(inc).Item("Dt_NRP_DOB")) Then
Frm_New_Resident_Physicians.Dt_NRP_DOB.Value = ds.Tables("Tbl_New_Employees_Database").Rows(inc).Item("Dt_NRP_DOB")
End If
If ds.Tables.Contains("CB_NRP_Department") Then
MsgBox("Yep, it's there")
Else
MsgBox("Nop, Not there!!") '<- I get the Nop, Not there!!
End If
Для следующей строки кода я получаю сообщение об ошибке:
SystemArgumentException: 'Столбец' CB_NRP_Department 'не принадлежит таблице Tbl_New_Employees_Database.
If Not IsDBNull(ds.Tables("Tbl_New_Employees_Database").Rows(inc).Item("CB_NRP_Department")) Then
Frm_New_Resident_Physicians.CB_NRP_Department.Text = ds.Tables("Tbl_New_Employees_Database").Rows(inc).Item("CB_NRP_Department")
End If
If Not IsDBNull(ds.Tables("Tbl_New_Employees_Database").Rows(inc).Item("Rad_NRP_Needs_Cerner_Credentials_Yes")) Then Frm_New_Resident_Physicians.Rad_NRP_Needs_Cerner_Credentials_Yes.Checked = ds.Tables("Tbl_New_Employees_Database").Rows(inc).Item("Rad_NRP_Needs_Cerner_Credentials_Yes")
If Not IsDBNull(ds.Tables("Tbl_New_Employees_Database").Rows(inc).Item("Rad_NRP_Needs_Cerner_Credentials_No")) Then Frm_New_Resident_Physicians.Rad_NRP_Needs_Cerner_Credentials_No.Checked = ds.Tables("Tbl_New_Employees_Database").Rows(inc).Item("Rad_NRP_Needs_Cerner_Credentials_No")
If Not IsDBNull(ds.Tables("Tbl_New_Employees_Database").Rows(inc).Item("CB_NRP_Person_to_Model_After")) Then
Frm_New_Resident_Physicians.CB_NRP_Person_to_Model_After.Text = ds.Tables("Tbl_New_Employees_Database").Rows(inc).Item("CB_NRP_Person_to_Model_After")
End If