●试题三(共 25 分) 如下图 1 的数据表:学生,请填写下面的 SQL 语句中的空格: 图1 ( 1 )查询年龄在 20-24 岁之间的学生,并按降序排列 select , 姓名 , 年龄 from 学生 where 年龄 between (1) Order By (2) ( 2 )查询每个班级人数 select 班级 , (3) as 人数 from 学生 (4) 班级 2 .针对上面图 1 所示的学生表,下面要在页面上按班级和序号升序排列所有的学生,请填写下面程序段中的空格。假设数据库文件:学习 .mdb 和本文件存放在同一个文件夹下,数据表名为:学生。 姓名 班级 序号 E-mail ' 以下连接数据库 Set cn=Server.CreateObject("ADODB.Connection") cn.Open (5) ' 以下建立记录集 strSql= (6) set rs=cn.Execute(strSql) ' 以下显示数据库记录 Do While (7) Response.Write " " Response.Write " "&rs(" ")&" " Response.Write " "&rs(" 姓名")&" " Response.Write " "&rs(" 班级")&" " Response.Write " "&rs(" 序号")&" " Response.Write " "&rs("E-mail")&" " Response.Write " " (8) Loop %> 3 .针对上面图 1 所示的学生表,下面程序 disp.asp 是分页显示所有学生的前 5 个字段(、姓名、性别、班级、序号)信息,每页显示 10 条记录,请填写其中的空格。 分页显示学生信息 学生信息表 ' 建立Connection对象cn Set cn=Server.CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(" 学习.mdb") ' 建立Recordset对象rs Set rs=Server.CreateObject("ADODB.Recordset") rs.Open " 学生",cn,1 ' 先输出表格的标题栏(表头) For i=0 to 4 Response.Write " "&rs(i).Name&" " Next Response.Write " " ' 如果记录集不是空的,就执行分页显示 If (9) Then Response.Write " 该记录集为空" Else ' 以下主要为了分页显示 Dim page_size ' 定义每页多少条记录变量 Dim page_total ' 定义总页数变量 Dim page_no ' 定义当前是第几页变量 page_size=10 ' 每页显示10条记录 ' 下面一段判断当前显示第几页。如果是第一次打开,则page_no为1,否则由传回的参数决定 If Request.QueryString("page_no")="" Then page_no=1 Else page_no=Cint(Request.QueryString("page_no")) ' 用Cint将字符串变为整数 End If ' 下面一段开始分页显示。指向要显示的页,然后逐条显示当前页的所有记录 rs.PageSize=page_size page_total=rs.PageCount rs.AbsolutePage=page_no ' 设置当前显示第几页 J=page_size Do While Not rs.Eof And J>0 J=J-1 Response.Write " " For i=0 to 4 Response.Write " "&rs(i).Value&" " Next Response.Write " " rs.MoveNext Loop Response.Write " " ' 表格结束 ' 下面一段在下方显示页数,从1到总页数循环。 如不是当前页,就加上超链接 信息 Response.Write " 请选择数据页: " ' 输出有关页数信息,从1到总页数循环,如不是当前页,就加上超链接 For i=1 To page_total If i=page_no Then Response.Write I&" " Else Response.Write " "&I&" " End If Next End If ' 关闭对象 rs.Close Set rs=Nothing cn.Close Set cn= (10) %>