读取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
[解决办法]
'改用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