VB的ComboBox控件我用数据库的返回结果集ADODB.Recordset的结果填充ITEM
dim rs as new ADODB.Recordset
数据库操作
.....
do while not rs.eof
    ComboBox.AddItem(Trim(CStr(rs(1))))
    rs.MoveNext
loop
但是当数据较多的时候下拉菜单就会显示乱码.不知道有没有哪位大仙遇到过这样的问题。
PS.数据库的返回结果都是英文加数字,不包含中文字符.

解决方案 »

  1.   

    别重复发贴了,没人回答是想不出原因..
    你检查一下乱码的数据,或者尝试打上vb6sp6补丁...
      

  2.   

    你的数据库是什么数据库?数据库的字符集是什么?连接方式是什么?连接字符串如何写的?
    另外,ComboBox.AddItem(rs(1)) & vbnullstring rs(index)本身返回的就是字符串,trim应该是在你更新时数据时使用,此处不该trim
      

  3.   

    更正
    ComboBox.AddItem(rs(1) & vbnullstring)
      

  4.   

    哦可能描述的不是很正确,不是全部乱码,前面是正确的英文加数字,后面几项才乱码...
    数据库是ORACLE连接字符串是
    Provider=OraOLEDB.Oracle.1;Password=***;Persist Security Info=False;User ID=***;Data Source=***
    数据库的字符集不清楚,但是因为前面几项是正确显示的应该不是字符集的原因.
      

  5.   


    比如说第101个选项应该是PALTEK01但界面上显示"?呌??"
    有谁碰到过不.
      

  6.   

    我也遇到过,以前的一个程序,有个combobox里面预设了几项“1,20,50,100”,然后一阵子莫名其妙的变成了乱码,好像有是这样的一些字符“┬ └ ┌ ┬”,然后不知什么时候又莫名其妙的好了。应该是combbox自身的问题。
      

  7.   

    do while not rs.eof 
        ComboBox.AddItem (Trim(CStr(rs(1))))
        Debug.Print  (Trim(CStr(rs(1)))),
        Debug.Print  ComboBox.List(ComboBox.NewIndex)
        rs.MoveNext 
    loop直接输出结果看看。
      

  8.   

    额.发现竟然是SQL语句指定了要搜索的列的问题.写成select * from xxx就不乱码了,写成select a,b from xxx就乱码..这什么世道嘛.
      

  9.   

    恩输出后发现RS里本身就乱码......
    Thanks