将数据库的数据导入ArrayList数组后,再将这个数组添加进ComboBox控件时出错!请大家帮忙指点一下!
我想将SQL2000数据库里的一列数据先导入一个ArrayList数组,再将这个数组导入一个ComboBox控件,使得ComboBox的选项能随着数据库的更新而自己更新。
写代码后,发现数据确实是导入了数组,但当导入控件时却发生了“System.Collections.ArrayList”的值无法转换为“Object 的 1 维数组”的错误。
这是我的代码:
Dim myReader As SqlDataReader
Dim ArrayList As ArrayList
ArrayList = New ArrayList()
myReader = cmdCommand.ExecuteReader()
While (myReader.Read())
ArrayList.Add(myReader.Item(0))
End While
ComboBox1.Items.AddRange(ArrayList)
先以为是必须要将数组里的数据转换成String类型,所以将其中一句改成
ArrayList.Add(CSng(myReader.Item(0)))
想将元素强行转换成String类型。但还是要报同样的错误。
经检查,数组里确实已经导入了相应的元素,就是在加入控件时出错,还请大家指点一下!谢谢!
[解决办法]
ComboBox1.Items.AddRange(ArrayList)
改为下面试试
ComboBox1.DataSource = ArrayList
还有变量名不要和类名一样,时间久了会看不明白的