怎么样写在combo里面读出数据库中某字段呢?
============================================那有旧历控件?

解决方案 »

  1.   

    http://expert.csdn.net/Expert/TopicView1.asp?id=2421507
      

  2.   

    Public Function BindDataToCombox(ByVal strSql As String, comBox As ComboBox) As Boolean
        'objCon是Connection对象
        Dim objRs As ADODB.Recordset
        Set objRs = objCon.Execute(strSql)
        If objRs.EOF = False Then
            comBox.Clear
            BindDataToCombox = True
        Else
            BindDataToCombox = False
            Exit Function
        End If
        Do Until objRs.EOF = True
            comBox.AddItem objRs.Fields(0).value
            objRs.MoveNext
        Loop
    End Function
      

  3.   

    方法一:可以直接用数据绑定,就像楼上Rick110AAA(海牛猪猪) 写的那样!
    方法二:1、先从数据库里读出数据成为数据记录集Recordset;
            2、之后再一条一条记录循环地AddItem 入combo里;
            3、用ListIndex 设定combo里的默认显示内容.
      

  4.   

    有一个奇怪的就是
    我用additem后,第一次打开form就能看到数据库的第一二条记录。有时全部都能读出来。
    可是每一次读出来后我关闭了form数据库中的记录就消失了啊???
      

  5.   

    不要用Unload Form

    Form.Visable=False
    Form.Visable=True
      

  6.   

    Private Sub Form_Load()
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    dim sql as new string
    'dbname为数据库名称,sqlserver为数据库服务器名称
    cn.Open "Provider=SQLOLEDB.1;Password=1;Persist Security Info=True;User ID=sa;Initial Catalog= dbname Data Source=sqlserver"
    sql = "select * from database where id<=10"rs.Open sql, cn, adOpenStatic, adLockOptimistic
    Combo1.Clear
    While Not rs.EOF
      Combo1.AddItem rs.Fields!Name
      Combo1.ItemData(Combo1.NewIndex) = rs.Fields!id
      rs.MoveNext
    Wend
    rs.Close
    If Combo1.ListCount > 0 Then Combo1.ListIndex = 0End Sub
      

  7.   

    do while not rs.eof()
    comobo1.additem rs!field
    end do
    'rs:记录集