借着休息的这个段儿,我看了一下信息的查询,发现了好玩儿的,仅供自己娱乐,或者博美人(君子)一笑。

首先给大家黏一段有意思的代码,再次强调,本文纯属娱乐,不过还是欢迎指点!(这是查询命令的一段)
 Dim txtsql As String
    Dim msgtext As String‘定义字符串变量
    Dim dd(4) As Boolean’结合后面,这里判断查询方式的选择,不过只有三种方式,不明白这里为什么会是4,dd(4)就是有5个元素的数组了,可是定义成dd(2)也就够了,经过测试,完全没问题。我理解的是:难道是为了防止溢出?
    Dim mrc As ADODB.Recordset
    
    1,txtsql = "select * from student_Info where "这一句很是关键,关键在什么地方,通过后面的就可以看出来。
    
    If Check1(0).Value Then '按学号查询,学号不能为空
    
        If Trim(txtsid.Text) = "" Then
        
            smeg = "学号不能为空"
            MsgBox smeg, vbOKOnly + vbExclamation, "警告"
            txtsid.SetFocus
            Exit Sub
            
        Else
        
            dd(0) = True
           2,txtsql = txtsql & "student_ID='" & Trim(txtsid.Text) & "'"这里就是在1的基础上写入了按学号查询的命令
            
        End If
    
    End If
    
    If Check1(1).Value Then '按姓名查询,姓名不能为空
    
        If Trim(txtname.Text) = "" Then
        
            smeg = "姓名不能为空"
            MsgBox smeg, vbOKOnly + vbExclamation, "警告"
            txtname.SetFocus
            Exit Sub
            
        Else
        
            dd(1) = True
           ( txtsql = txtsql & "student_Name='" & txtname.Text & "'")
            If dd(0) = True Then '如果同时也按学号查询
            
               3,txtsql = txtsql & "and student_Name='" & txtname.Text & "'"这个and可是作用不小,这一句又是在2的基础上附加上了按姓名查询,就是说,有了这个and,查询方式就变成了同时按学号和姓名
                
            Else
            
                4,txtsql = txtsql & "student_Name='" & txtname.Text & "'"其实我觉得这个否则可以不要,就想起了米老师说进厕所那个例子,是男的就进,不是就不进,那么这里也是一样,dd(0)要么为真,要么就为假。这个否则不要的前提是加上了括号中的语句,这里也就是起到了一个说明查询条件的作用。
                
            End If
            
        End If
        
    End If
    
    If Check1(2).Value Then '如果按班号查询,班号不能为空
    
        If Trim(txtclassno.Text) = "" Then
        
            smeg = "班号不能为空"
            MsgBox smeg, vbOKOnly + vbExclamation, "警告"
            txtclassno.SetFocus
            Exit Sub
            
        Else
        
            dd(2) = True
            
            If dd(0) Or dd(1) Then '同时选中第一或第二种查询方法
            
                5,txtsql = txtsql & "and class_No='" & txtclassno.Text & "'"我觉得这句话就更有意思了,这里也有一个and附加的查询条件。可是赋值号后面的那个txtsql变量就有意思了,当dd(0)和dd(1)只满足一个时,它就对应的分别是2和4,当两个同时满足时,它又是对应的3
                
            Else
            
               6,txtsql = txtsql & "calss_No='" & txtclassno.Text & "'"这里与4相同
            
            End If
            
        End If
        
    End If
    
    If Not (dd(0) Or dd(1) Or dd(2) Or dd(3)) Then '防止不能选中查询方式
    因为测试过定义为dd(2),这里的dd(3)删除是不影响结果的,就算是定义为dd(4),我也不明白这dd(3)是什么意思。根据dd(0,1,2)的表达意义,这里的dd(3)也是一种查询方式,可是根本就没有dd(3)这一种,难道说它的意思是代表所有一切不合法的查询方式?

        MsgBox "请设置查询方式!", vbOKOnly + vbExclamation, "警告"
        Exit Sub
        
    End If
    
好了,我主要是觉得and这个词用的真的太有意思了,还有那个txtsql变量dd(4)也很有趣 。

感谢我的妈妈,我调程序调不出来,急得慌,都不想调不想学习,可是我妈说:慢慢来,不要急,总会弄出来的。实在不行就看看别人怎么做的,再不行,你们米老师是干嘛的。

我要好好学习,快乐的学习,在学习中成长,在成长中学习。严格遵守爸妈的六字方针:不慌、不急、不怕!

何下下同学,加油啊!你可千万不要变成河虾,会被人煮了滴!


请大家多多指教,谢谢!

posted on 2014-07-11 21:11  何红霞  阅读(330)  评论(0编辑  收藏  举报