2013-04-24 117 views
1

我在第四行出现上述错误。我如何(假设我必须)将值转换为双方都具有相同的数据类型?无法投射'system.int32'类型的对象来键入'system.int32 []'

dsOrderList = objResult.ds 
     For Each drow As DataRow In dsOrderList.Tables(0).Rows 
      Dim objOrder As New Orders 
      objOrder.OrderID = drow("OrderID") 
      objOrder.CustomerID = drow("CustomerID") 
      objOrder.EmployeeID = drow("EmployeeID") 
+2

是它的财产Orders.OrderID int数组? – Steve 2013-04-24 09:59:16

+0

很好的抓住史蒂夫......可能是这个问题,虽然一些铸造也可能是好的。 – 2013-04-24 10:01:10

+0

是的............ – adityawho 2013-04-24 10:04:40

回答

1

我认为你是字符串值到数组的整,必须有一个阵列或提供数组的元素

dsOrderList = objResult.ds 
    For Each drow As DataRow In dsOrderList.Tables(0).Rows 
     Dim objOrder As New Orders 
     objOrder.OrderID(0) = drow("OrderID") '0 is Element of Order ID 
     objOrder.CustomerID = drow("CustomerID") 
     objOrder.EmployeeID = drow("EmployeeID") 

dsOrderList = objResult.ds 
    For Each drow As DataRow In dsOrderList.Tables(0).Rows 
     Dim objOrder As New Orders 
     objOrder.OrderID = {drow("OrderID")} 
     objOrder.CustomerID = drow("CustomerID") 
     objOrder.EmployeeID = drow("EmployeeID") 

更新

如果objOrder.OrderID的元素是什么,然后使用

objOrder.OrderID = new int() {drow{"OrderID"}) 
1

您需要的值从数据行转换为int,字符串等将其分配给另一个变量,其类型为前值大概诠释

+0

喜欢如何? .... – adityawho 2013-04-24 09:53:34

+0

喜欢做类型转换... http://www.codeproject.com/Articles/5044/Cheat-Sheet-Casting-in-VB-NET-and-C,但看到史蒂夫对你的问题的评论,这可能是你的问题的原因... – 2013-04-24 10:02:44

+0

其数组.. ..(如在多个值) – adityawho 2013-04-24 10:08:55

相关问题