从字符串" System.Data.DataRowView"转换输入'整数'无效错误

时间:2017-06-02 05:41:27

标签: vb.net

我是VB.NET的新手。我想将Access数据库的一个字段中的数据检索到列表框中,并将数据从最小值排序到最大值。但是我收到了一条错误消息:

  

"从字符串" System.Data.DataRowView"转换输入'整数'无效"

enter image description here

2 个答案:

答案 0 :(得分:0)

您将arr(i)数组声明为整数,然后您编写arr(i) = resListBox.Items(i).ToString ..
怎么可能?

假设您的resListBox.Items(i)有值“abc”,则无法将abc插入类型int变量中。甚至.ToString将其转换为字符串并传递字符串值。

尝试arr(i) = resListBox.Items(i).Text,但只有当值为整数时,否则会再次抛出异常......!

答案 1 :(得分:0)

正如bonny已经在他的回答中所说,你不能将字符串赋给整数。

您可以尝试使用Int32.TryParse方法。通过这种方式,您可以测试该值是否为整数,然后您可以将其分配给变量,如果返回true,或者显示消息框以显示值为null或不是整数。

     Dim number As Integer
     Dim result As Boolean = Int32.TryParse(resListBox.Items(i).Text, number)
     If result Then
        arr(i) = resListBox.Items(i).Text
     Else
        MessageBox.Show("Attempted conversion of '{0}' failed.", 
                          If(resListBox.Items(i).Text Is Nothing, "<null>", resListBox.Items(i).Text))
     End If