加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb组合查询

发布时间:2020-12-16 22:18:04 所属栏目:大数据 来源:网络整理
导读:在做机房收费系统的时候我遇到了很多的问题,这篇博客主要是想记录一下自己如何实现组合查询的。 对于组合查询,我用了一种很简单的方法去实现它--------字段组合(将用户选择的字段组合起来传入到sql中进行查询) 这个的难点其实这有两个: 第一个:如何将
在做机房收费系统的时候我遇到了很多的问题,这篇博客主要是想记录一下自己如何实现组合查询的。
对于组合查询,我用了一种很简单的方法去实现它--------字段组合(将用户选择的字段组合起来传入到sql中进行查询)
这个的难点其实这有两个:
第一个:如何将选择的内容写到sql中
第二个:当选择的条件变得很多的时候要如何处理多种组合关系
首先来看第一个问题:其实这个问题的解决时很简单的
拆开来看这个问题:其实就是涉及到两个小问题
第一个小问题:如何表示我们选择的问题
第二个小问题:如何sql语句
第一个问题的解决方法:
在做机房收费系统的时候我用的是ComboBox放在用户的界面来让用户来选择,那么用户选择的东西就ComboBox.text
第二个问题的解决方法:
(我在这里就不写vb如何与sql数据库连接的问题了,只是写出如何写sql语句)
其实也是很简单的,首先想要是我要传入sql中就是简单的已经确定的,那么我么你会如何写sql语句呢?
举个例子查询sql数据库student_info表中学号=1的同学的学生信息
SQL="select * from student_info where studentno=' " & 1 & "' "
那么组合查询的语句和这个语句的区别就在于 句子中的 studentno,=,1,变成了ComboBox.text
那么上面的句子就可以写成()
SQL= "select * from student_info where " & strName(Combo1.Text) & " " & Trim(Combo2.Text) & "'" & Trim(Combo3.Text) & "'"
接下来需要解决的就是第二个问题了:
以我做的机房收费系统为例子,在这里介绍两种解决思路:

第一种思路:将图中每个红色的边框作为一个选择的整体

代码:

实现将每一行看做一个整体进行查询


实现组合查询:



第二种思路:将图中三行作为一个整体


这种方式下面的sql语句和上面就有所不同了,但是他们本质上都是来实现三行的查询组合。只不过现在的这种查询组合是在sql语句中实现,而不是在vb中使用if end if语句来实现的 具体的代码其实和上面的逻辑过程差不多,只不过没有了if语句,仅仅变成了sql语句,这样子的代码就很简单,整洁。 比如我们只选择第一行输入,其他两行输入,那么语句就写成: txtSQL = "select * from line_info where " & strName(Combo1.Text) & " " & Trim(Combo4.Text) & "'" & Trim(Text1.Text) & "'" txtSQL = txtSQL & "and 1='" & "1" & "'" txtSQL = txtSQL & "and 1='" & "1" & "'" ”或”,“与“用and代替,后两行用1=1这个代替了,它在sql中返回值肯定是true,那么查询出来其实就是第一行的内容 如果输入了第一行和第二行,那么将第二行的combo.text代替1=1就可以了。 以此类推一直将全部的组合的sql语句写出来就可以完成组合查询了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读