VB COMBOBOX问题

fccfcc1234 2009-04-02 12:01:36
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.数据库的返回结果都是英文加数字,不包含中文字符.
...全文
279 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
fccfcc1234 2009-04-07
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 of123 的回复:]
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

直接输出结果看看。
[/Quote]
恩输出后发现RS里本身就乱码......
Thanks
fccfcc1234 2009-04-07
  • 打赏
  • 举报
回复
额.发现竟然是SQL语句指定了要搜索的列的问题.写成select * from xxx就不乱码了,写成select a,b from xxx就乱码..这什么世道嘛.
of123 2009-04-03
  • 打赏
  • 举报
回复
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

直接输出结果看看。
神马都能聊 2009-04-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 AisaC 的回复:]
你的数据库是什么数据库?数据库的字符集是什么?连接方式是什么?连接字符串如何写的?


另外,ComboBox.AddItem(rs(1)) & vbnullstring

rs(index)本身返回的就是字符串,trim应该是在你更新时数据时使用,此处不该trim
[/Quote]
更正
ComboBox.AddItem(rs(1) & vbnullstring)
神马都能聊 2009-04-02
  • 打赏
  • 举报
回复
你的数据库是什么数据库?数据库的字符集是什么?连接方式是什么?连接字符串如何写的?


另外,ComboBox.AddItem(rs(1)) & vbnullstring

rs(index)本身返回的就是字符串,trim应该是在你更新时数据时使用,此处不该trim
vbman2003 2009-04-02
  • 打赏
  • 举报
回复
别重复发贴了,没人回答是想不出原因..
你检查一下乱码的数据,或者尝试打上vb6sp6补丁...
clear_zero 2009-04-02
  • 打赏
  • 举报
回复
只能一行行的调
无·法 2009-04-02
  • 打赏
  • 举报
回复
我也遇到过,以前的一个程序,有个combobox里面预设了几项“1,20,50,100”,然后一阵子莫名其妙的变成了乱码,好像有是这样的一些字符“┬ └ ┌ ┬”,然后不知什么时候又莫名其妙的好了。应该是combbox自身的问题。
terrywolf 2009-04-02
  • 打赏
  • 举报
回复
路过,顶一下!
fccfcc1234 2009-04-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 of123 的回复:]

数据库里是什么样的数据?举一个乱码的例子,正确应该是什么?
[/Quote]

比如说第101个选项应该是PALTEK01但界面上显示"?呌??"
有谁碰到过不.
of123 2009-04-02
  • 打赏
  • 举报
回复

数据库里是什么样的数据?举一个乱码的例子,正确应该是什么?
Kingofcode 2009-04-02
  • 打赏
  • 举报
回复
打sp6补丁再看看
fccfcc1234 2009-04-02
  • 打赏
  • 举报
回复
刚才数了下好像刚好到一百项目后面开始乱码.不知道中间有没有漏的.
是不是要装什么补丁什么的.
fccfcc1234 2009-04-02
  • 打赏
  • 举报
回复
哦可能描述的不是很正确,不是全部乱码,前面是正确的英文加数字,后面几项才乱码...
数据库是ORACLE连接字符串是
Provider=OraOLEDB.Oracle.1;Password=***;Persist Security Info=False;User ID=***;Data Source=***
数据库的字符集不清楚,但是因为前面几项是正确显示的应该不是字符集的原因.

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧