我是VB.NET的新手。我想将Access数据库的一个字段中的数据检索到列表框中,并将数据从最小值排序到最大值。但是我收到了一条错误消息:
"从字符串" System.Data.DataRowView"转换输入'整数'无效"
答案 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