使用表适配器填充数据表时无效的Cast Exception

时间:2011-01-13 22:41:42

标签: sql vb.net ado.net strongly-typed-dataset

我在基于WPF的项目中使用VB.NET 2010(Visual Basic 2010 Express)。我也使用Visual Basic 2010 Express内置的SQL Server Express。

我刚刚完成了将我的基于wpf的表单挂钩到现有SQL数据库(agentroster.sdf)的代码。我有一个连接到此数据库的全局数据源(AGENT_ROSTER)。确认连接正常工作。

这是我正在使用的代码的第一部分,省略了无关的代码,

Dim table_adaptor As New AGENT_ROSTERTableAdaptors.AGENT_ROSTERTableAdaptor
Dim roster_table As New DataTable("roster_table")
Dim rowposition As Integer

Private Sub ROSTER_Loaded...
   table_adaptor.Fill(roster_table)
End Sub

我收到以下错误: (在立即窗口中)

  

VBP-WORD4WORD.exe中出现'System.InvalidCastException'类型的第一次机会异常

(在消息中,指向该行:“table_adaptor.Fill(roster_table)')

  

InvalidCastException未处理   无法将类型为“System.Data.DataTable”的对象强制转换为“AGENT_ROSTERDataTable”。

我做错了什么,而且,如何用table_adaptor(或替代方法)填充roster_table?

1 个答案:

答案 0 :(得分:0)

假设您的强类型DataSet被称为“AGENT_ROSTER”:

Dim table_adaptor As New AGENT_ROSTERTableAdaptors.AGENT_ROSTERTableAdaptor
Dim roster_table As New AGENT_ROSTER.roster_table
table_adaptor.Fill(roster_table)

查看Efficient Coding With Strongly Typed DataSets