首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

读取sql表里的某一行里的单列的带很多字符串的数据,如何显示在下拉菜单里

2012-05-03 
读取sql表里的某一行里的单列的带很多字符串的数据,怎么显示在下拉菜单里运行环境 vb6.0+sql表information

读取sql表里的某一行里的单列的带很多字符串的数据,怎么显示在下拉菜单里
运行环境 vb6.0+sql 
表information中有其中一列cinforvalue数据 
如图: 
Autoid cinforvalue price 
01 ,0.10,0.20,0.21,0.25,0.48,0.09,0.27,(等规格) 8.0 

省略了部分数据库连接代码,我的程序源码 
Private Sub Form_Load() 
Dim arry() As String  
sqlstr2 = "select cinforvalue from information" 
Adodc2.RecordSource = sqlstr2 
arry = Split(sqlstr2, ",") 
For i = 0 To UBound(arry) 
Set datacombo1..RowSource = Adodc2 
datacombo1.ListField = "cinforvalue" 
Next 
End Sub 
运行结果如下: datacombo1.里的就一行显示,0.10,0.20,0.21,0.25,0.48,0.09,0.27 
,我要怎么才会显示一个规格一行的数据呢? 
就是datacombo1下拉菜单里 
显示 
0.10 
0.20 
0.21 
0.25 
0.48 
0.09 
0.27 


请高手指教!

[解决办法]
建议不用datacombo控件,改用combo内部控件,然后
Private Sub Form_Load()
Dim arry() As String
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sqlstr2 As String, i As Long
pstr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=数据库;Data Source=."
cn.Open pstr
sqlstr2 = "select cinforvalue from information"
rs.Open sqlstr2, cn, adOpenStatic, adLockReadOnly
arry = Split(rs!cinforvalue, ",")
For i = 0 To UBound(arry)
Combo1.AddItem arry(i)
Next
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub

[解决办法]

VB code
'改用combobox控件Private Sub Form_Load() Dim arry() As String  dim rs as new adodb.recordsetsqlstr2 = "select cinforvalue from information" if rs.state<>adstateclosed then rs.closers.open sqlstr2,conn,adopenkeyset,adlockreadonlyif rs.recordcount>0 then    combobox1.clear     arry = Split(rs!cinforvalue, ",")     For i = 0 To UBound(arry)         combobox1.additem  arry(i)    Next end ifrs.closeEnd Sub 

热点排行