永发信息网

VB连接数据库读取内容到combo中

答案:2  悬赏:20  手机版
解决时间 2021-03-10 02:09
  • 提问者网友:浪荡绅士
  • 2021-03-09 05:06
在数据库db1.mdb(access)中有一张表department,有两个字段:id,name
查询语句:select name form department
怎样在VB中,用代码连接数据库,再将查询到的数据添加到combo中
最佳答案
  • 五星知识达人网友:玩家
  • 2021-03-09 06:45
Option Explicit
Public appdisk As String
Public conn As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public db As String
Private sSQL As String
Private Sub Form_Load()
Dim i As Integer

On Error GoTo Err

appdisk = Trim(App.Path)
If Right(appdisk, 1) <> "\" Then appdisk = appdisk & "\"
db = appdisk
db = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & db & "alex.mdb"
conn.CursorLocation = adUseClient
conn.Open db
Rs.Open "select * from aaa", conn, adOpenKeyset, adLockPessimistic

If Rs.EOF = False Then

Do Until Rs.EOF
Combo1.AddItem Rs!seqno, i
Rs.MoveNext
i = i + 1
Loop

End If

Rs.Close: Set Rs = Nothing
exit sub

Err:
MsgBox Err.Number
Unload Me

End Sub
全部回答
  • 1楼网友:独钓一江月
  • 2021-03-09 07:50

事件要选click事件。viewdata里面别忘记清楚cbo的内容,不然重复加入了

dim cnn as adodb.connection

private sub cb_xibuname_click() viewdata end sub

private sub form_load() call condatabase set rs = new adodb.recordset rs.open "select * from stu_xibu", cnn, adopendynamic, adlockoptimistic while not rs.eof cb_xibuname.additem rs("stu_xibuname") rs.movenext wend call viewdata end sub

private sub viewdata() call condatabase cb_classname.clear set rs = new adodb.recordset rs.open "select * from stu_class where stu_xinbuname ='" & trim(cb_xibuname.text) & "' ", cnn, adopendynamic, adlockoptimistic while not rs.eof cb_classname.additem rs("stu_classname") rs.movenext wend end sub

sub condatabase() set cnn = new adodb.connection cnn.open "provider=microsoft.jet.oledb.4.0;data source=" & app.path & "\db1.mdb" end sub

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯