VB中设置了Combobox 控件,并且连接SQL数据库,请问如何实现在Combobox中输入内容后自动查询包含的内容? 20
1个回答
展开全部
拖一个Combo,和一个ADO控件我以ADO为例,在窗体装载的时候就让他获得下拉列表值,值来自远程SQL数据库,代码如下:
Private Sub Form_Load()
Adodc1.Connectionstring="Driver={SQL Server};Server=服务器IP;uid=用户名;Pwd=密码;DataBase=数据库名"
Adodc1.RecordSource="Select Distinct 字段名 From 表名 Where 条件表达式 Order By 字段名"
Adodc1.Refresh
While Not Adodc1.RecordSet.EOF
Combo1.AddItem Adodc1.RecordSet.Fields("字段名")
Wend
End Sub
这样就OK了,可能你会问为什么查询语句要那么写,加上一个Distinct是避免重复,加上一个Order By是排列顺序,只查一个字段是为了防止重复行影响重复值。使用While循环是要他遍历数据库,窗体装载一次就循环一次。判断EOF是做数据溢出处理。
如过你有多个Combo完全可以放在一起,这只是个例子
Private Sub Form_Load()
Adodc1.Connectionstring="Driver={SQL Server};Server=服务器IP;uid=用户名;Pwd=密码;DataBase=数据库名"
Adodc1.RecordSource="Select Distinct 字段名 From 表名 Where 条件表达式 Order By 字段名"
Adodc1.Refresh
While Not Adodc1.RecordSet.EOF
Combo1.AddItem Adodc1.RecordSet.Fields("字段名")
Wend
End Sub
这样就OK了,可能你会问为什么查询语句要那么写,加上一个Distinct是避免重复,加上一个Order By是排列顺序,只查一个字段是为了防止重复行影响重复值。使用While循环是要他遍历数据库,窗体装载一次就循环一次。判断EOF是做数据溢出处理。
如过你有多个Combo完全可以放在一起,这只是个例子
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询