程序无法识别最近添加的列

时间:2019-07-10 11:16:18

标签: vb.net dataset

创建原始表后的几个月,我需要添加一个额外的列(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

0 个答案:

没有答案