机房收费系统之组合查询

来源:互联网 发布:淘宝上天天特价的要求 编辑:程序博客网 时间:2024/04/19 21:19

相信大家在进行机房收费系统的组合查询的时候遇到过这个问题吧

就是在进行查询的时候如果是卡号的大小来查询的话往往出错,因为什么呢,因为我们在进行查询的时候总是会在查询的字符用当引号括起来,比如 select * from card_id where student_Info = '1'

然后我们在进行组合查询的时候就想当然的就会这么写select * from card_id where student_info<'7',可是在数据库查询中,其实数字的查询语句是不需要加单引号的,所以才让我们出现了这么个困难。

如果我们的卡号有222,333,444,那么如果我们查大于1的卡号没问题,如果查7的话就会一条都没有,那是因为如果我们加了单引号,那么数据库就会默认的从第一个数字开始比较大小,以此类推,所以才会出现命名代码看着没错,运行也不出错,但就是出不来结果的问题,下面就是一小段该问题的代码,望大家多多提出意见哈


 If Not Testtxt(cmbConnect(0).Text) And Not Testtxt(cmbConnect(1).Text) Then         If IsNumeric(txtSomeThing(0).Text) Then   '如果不按照数字大小来进行查询的话,不需要在乎大小问题        '一个条件是的查询,且是数字查询              txtSQL = "select * from line_info where  " & FileName1 & Operate1 & " " & Val(Trim(txtSomeThing(0).Text)) & " "            Set mrc = ExecuteSQL(txtSQL, Msgtext)         Else            '非数字查询              txtSQL = "select * from line_info where  " & FileName1 & Operate1 & "'" & Val(Trim(txtSomeThing(0).Text)) & "'"            Set mrc = ExecuteSQL(txtSQL, Msgtext)              '如果是卡号大小de问题,不需要加单引号                      End If'两行条件的查询        If Testtxt(cmbConnect(0).Text) And Not Testtxt(cmbConnect(1).Text) Then            If Not Testtxt(cmbFile(1).Text) Or Not Testtxt(cmbOperate(1).Text) Or Not Testtxt(txtSomeThing(1).Text) Then                MsgBox "请完整的输入要组合的条件!", vbOKOnly + vbExclamation, "提示"                Exit Sub            Else                If cmbConnect(1).Text = "" Then                    If IsNumeric(txtSomeThing(1).Text) Then   '如果不按照数字大小来进行查询的话,不需要在乎大小问题                    txtSQL = "select * from line_info where " & FileName1 & Operate1 & " " & Val(Trim(txtSomeThing(0).Text)) & " " & " " & Trim(Connect1)                               & " " & Filename2 & Operate2 & "" & Val(Trim(txtSomeThing(1).Text)) & ""                     Set mrc = ExecuteSQL(txtSQL, Msgtext)                Else                    txtSQL = "select * from line_info where " & FileName1 & Operate1 & "'" & Trim(txtSomeThing(0).Text) & "'" & " " & Trim(Connect1) & " "                              & Filename2 & Operate2 & "'" & Trim(txtSomeThing(1).Text) & "'"                     Set mrc = ExecuteSQL(txtSQL, Msgtext)                     End If                                     End If            End If        End If

      那么接下来就简单了吧