ComboBox读取数据库生成下拉列表的算法简化

php中文网
发布: 2016-06-07 15:36:00
原创
1809人浏览过

一个VB 的优化案例 关劲松 PMP 关于测试软件,ComboBox读取数据库生成下拉列表的算法简化。 原有代码: 要遍历整个表的数据。使用了两次嵌套循环,加if判断,加标志位处理。而且代码繁复,不易理解维护。 Combo1(1).Clear Combo1(1).AddItem 6, 0 strSelect

一个vb 的优化案例

关劲松 PMP

 

关于测试软件,ComboBox读取数据库生成下拉列表的算法简化。

Zapier Agents
Zapier Agents

Zapier推出的Agents智能体,集成7000+应用程序

Zapier Agents 70
查看详情 Zapier Agents

原有代码:
    要遍历整个表的数据。使用了两次嵌套循环,加if判断,加标志位处理。而且代码繁复,不易理解维护。
    Combo1(1).Clear
    Combo1(1).AddItem "6", 0
    strSelect = "select * from Code_21 ORDER BY TX_MIN_FREQ_min asc "
    Set rs = daev.sys.Execute(strSelect)
            
    if rs.RecordCount > 0 Then
        exist_flag = False
        rs.MoveFirst
        For i = 1 To rs.RecordCount
            For j = 0 To Combo1(1).ListCount - 1
                If Combo1(1).List(j) = rs.Fields("frequencyband") Then
                    exist_flag = True
                End If
            Next j
            If exist_flag = False Then
                Combo1(1).AddItem rs.Fields("frequencyband"), Combo1(1).ListCount
            ElseIf exist_flag = True Then
                exist_flag = False
            End If
            rs.MoveNext
        Next i
    End If

    Combo1(1).Text = Combo1(1).List(0)

 

改进代码:
    关键使用SQL中distinct 仅显示不相同的记录字段,同时用Clng将数据库定义为文本的frequencyband字段,类型转换为长整形,这样distinct后就可以自动排序。之后的代码就可以简化为一次循环,遍历返回的数据集即可。而且返回的数据集较小。
    Access的别名定义也要留意,不能与当前表的字段重名。因此需要将frequencyband定义为frequency。
  
    strSelect = "select  distinct CLng(frequencyband) as frequency  from Code_21 "
    Set rs = daev.sys.Execute(strSelect)
   
    Combo1(1).Clear
    If rs.RecordCount > 0 Then
        rs.MoveFirst       
        For i = 1 To rs.RecordCount
            Combo1(1).AddItem rs.Fields("frequency"), Combo1(1).ListCount
            rs.MoveNext
        Next i
    End If
   
    Combo1(1).Text = Combo1(1).List(0)

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号