【加试题】某公司需要设计一个生日查询系统:输入某个日期,就能查出在这天生日的所有员工姓名,并统计出生人人数,以便于公司提前为员工准备生日礼物。员工信息存储在数据库文件“员工信息.mdb”的数据表“members”中,数据表“members”的结构如下: VB应用程序界面如上图所示,在文本框text1中输入查询的日期(以月日形式,如0623),单击“查询”按钮,在列表框中显示所有这个日子出生的员工姓名(按姓名排序),并在Label3处显示员工数量,如果人数为0,则在列表框中显示“本天没有员工生日”。解决此问题的VB程序如下,阅读程序并完成后面的问题。‘定义存放员工姓名的数组naPrivate Sub CmsqClick() Dim n As Integer , i As Integer , j As Integer Dim t1 As String ‘连接数据库获取数据 Dim cn As new connection Dim rs As new recordest Dim str1 As String , str2 As String str1 =”driver=Microsoft access driver(*.mdb)”;dbq=”&app.path”&”员工信息.mdb” cn.open str1 str2 = “select * form members where 生日 =’“ + text1.text + ”’” rs.open str2 , cn.adOpenDynamic ,adLockOptimistic n = 0 Do While Not Rs.EOF n = n + 1 na(i) = rs.Fields(“姓名”).value rs.MoveNext Loop rs.close cn.close‘按姓名排序If n = 0 Then List1.AddItem “本天没有员工生日”Else For i = 1 to n-1 For j = 1 to n+1 Step -1 If na(j) < na(j-1) Then t1 = na(j) : ① : na(j-1) = t1 End If Next j Next i For i = 1 to n List1.AddItem ② Next i Label3.Caption = “这天共” + Str(n) + “位员工生日” End IfEnd Sub
(1)
程序序中涉及的排序算法是,排序方式为(填:升序/降序)。
(2)
“查询”按钮的对象名是。
(3)
程序中画线处应填入:① ②
答案: 【1】冒泡排序【2】升序
【1】Cmsq
【1】na(j) = na(j-1)【2】na (i)