课后习题及参考答案 )1.下列语句哪一个是错误的?(复选) .Cookie的优点之 存放在浏览器端,不会占用服务器端的空间 B.服务器端文件访问即使在数据量很大时,也不会影响到访问效率 C数据库适合记录大量数据,可做读取、插入、删除、更新与查询。 D.打开数据库连接所花费的时间比查询少。 )2.ASP是通过一组统称为AD0的对象模块来访问数据库,对不 B.否 )3.AD0对象模块只能访问Microsoft Access和SQL Server数据 库,对不对? 是 B.否 )4.用来打开与关闭数据库连接的是哪个AD0对象? A.Command B.Recordset D.Field )5.用来读取、插入、删除或更新表记录的是哪个AD0对象? A.Command B.Recordset C.Connect ion .Field )6。若要移动到表的最后一条记录,可以使用哪个方法? A.Move B.MoveNext .MoveFirst D.Movelast )7.我们可以使用哪个方法筛选表的记录? A.Sort B.Filter C.Open D.Execute )8.Access数据库可能由一个或多个表所构成,对不对? A. 是 B否 )9.下列哪一个代表表的第一条记录? A.EOF B.FOF C.BOF 0 ROF )l0.Recordset对象的CursorType属性设置为下列何者时会使用 最少的系统资源? A.adOpenForwardonly B.adOpenKeyset
课后习题及参考答案 ( )1. 下列语句哪一个是错误的?(复选) A.Cookie 的优点之一是存放在浏览器端,不会占用服务器端的空间。 B.服务器端文件访问即使在数据量很大时,也不会影响到访问效率。 C.数据库适合记录大量数据,可做读取、插入、删除、更新与查询。 D.打开数据库连接所花费的时间比查询少。 ( )2. ASP 是通过一组统称为 ADO 的对象模块来访问数据库,对不 对? A. 是 B.否 ( )3. ADO 对象模块只能访问 Microsoft Access 和 SQL Server 数据 库,对不对? A. 是 B.否 ( )4. 用来打开与关闭数据库连接的是哪个 ADO 对象? A.Command B.Recordset C.Connection D.Field ( )5. 用来读取、插入、删除或更新表记录的是哪个 ADO 对象? A.Command B.Recordset C.Connect ion .Field ( )6. 若要移动到表的最后一条记录,可以使用哪个方法? A.Move B.MoveNext C .MoveFirst D.MoveLast ( )7. 我们可以使用哪个方法筛选表的记录? A.Sort B.Filter C.Open D.Execute ( )8. Access 数据库可能由一个或多个表所构成,对不对? A. 是 B.否 ( )9. 下列哪一个代表表的第一条记录? A.EOF B.FOF C.BOF D. ROF ( )10. Recordset 对象的 CursorType 属性设置为下列何者时会使用 最少的系统资源? A.adOpenForwardOnly B.adOpenKeyset
C.adOpenDynamic D.adOpenStatic 二、操作题 请制作 个Access数据库文件,表名称为“出货单”,字段名称 与数据类型如表10-5所示,然后再依照图10-22所示输入12条记录。 表10-5 字段名称 数据类型 名 备忘 书 文字 定 数子 数量 数字 折扣 数字(字段大小设为[单精度数]) 客户 备忘 (a)请编写一个ASP程序读取表的所有记录并依照图10-23所示的格式显示出 请编 个ASP程序在此表新增两条记录,第一条记录的值为“快快乐 乐学Exce12000 “3103123 、“400 50 “0.85”、 “何嘉仁”, 第二条记录的值为“快快乐乐学Access2000”、 “3103125”、“420”、 “100”、“0.8”、“金石堂”,如图10-24所示。 (c)请编写一个ASP程序读取表的所有记录,并依照数量由高至低排列显示出 来,如图10-25所示。 参考答案 、洗择题 1-5 (BD)ABCB 6-10 DBAC 二、操作题 a. 书名数量客户</THD
C.adOpenDynamic D.adOpenStatic 二、操作题 请制作一个 Access 数据库文件 ,表名称为“出货单”,字段名称 与数据类型如表 10-5 所示,然后再依照图 10-22 所示输入 12 条记录。 表 10-5 字段名称 数据类型 书名 备忘 书号 文字 定价 数字 数量 数字 折扣 数字 (字段大小设为 [单精度数]) 客户 备忘 (a) 请编写一个ASP程序读取表的所有记录并依照图10-23所示的格式显示出 来。 (b) 请编写一个 ASP 程序在此表新增两条记录,第一条记录的值为“快快乐 乐学 Excel 2000”、“3103123”、“400”、“50”、“0.85”、“何嘉仁”, 第二条记录的值为“快快乐乐学 Access 2000”、“3103125”、“420”、 “100”、“0.8”、“金石堂”,如图 10-24 所示。 (c) 请编写一个 ASP 程序读取表的所有记录,并依照数量由高至低排列显示出 来,如图 10-25 所示。 (d) 请编写一个 ASP 程序读取表的所有记录,并筛选出数量大于等于 200 且折扣大于等于 0.7 的记录,如图 10-26 所示。 参考答案 一、选择题 1-5 (BD)ABCB 6-10 DBACA 二、操作题 a. 书名 书号 定价 数量 折扣 客户
Do While Not objRS.EOF Response.Write“"“"&obRS("“书名“")& ”&objRS("书号")&"” Response,.Write”"&obRs(“定价)&/TD> Response.Write“&obRS(“数量&“ Response.WriteT&objS( 折扣“”)&” Response.Write""&objRS(“客户")& "X/TR>“ Loop ”关闭数据库连接并释放对象 ob jRS.Close Set objRS =Nothing objConn.Close Set objConn =Nothing %> b. Dim ob irs Set objRS=GetRecordset("order.mdb"“,"出货单") ’新增两条记录 ob.AddNew Array(“书名”,”“书号“”,“定价“,”数量,. 折扣“”, 客户“), "3103123“”,”400”,“50”,"0.85” Array(“快快乐乐学Excel2000”, “何嘉仁”“) objRS.AddNewA加ray(“书名”,“书号,”“定价,“数量“”, 折扣”,”“客户), Array(~“快快乐乐学Access2000” “3103125”,“420“,"“100“,"“0.8”,"“金石堂") ob jRS.Update
"" & objRS(""书名"") & """" Response.Write """" & objRS(""书号"") & """" Response.Write """" & objRS(""定价"") & """" Response.Write """" & objRS(""数量"") & """" Response.Write """" & objRS(""折扣"") & """" Response.Write """" & objRS(""客户"") & """" objRS.MoveNext Loop '关闭数据库连接并释放对象 objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing %> b. <% Dim objRS Set objRS = GetRecordset(""order.mdb"", ""出货单"") '新增两条记录 objRS.AddNew Array(""书名"" ,""书号"", ""定价"", ""数量"", "" 折扣"", ""客户""), _ Array(""快快乐乐学 Excel 2000"", ""3103123"", ""400"", ""50"", ""0.85"", ""何嘉仁"") objRS.AddNew Array(""书名"" ,""书号"", ""定价"", ""数量"", "" 折扣"", ""客户""), _ Array(""快快乐乐学 Access 2000"", ""3103125"", ""420"", ""100"", ""0.8"", ""金石堂"") objRS.Update
’关闭数据库连接并释放对象 Set objRS =Nothing ob jConn.Close Set objConn =Nothing %> c. '使用Connection对象打开Access数据库 Dim objConn Set obiconn Server.CreateObject(""ADODB.Connection"") ob iConn.ConnectionString "Provider=Microsoft.Jet.OLEDB.4.0:& ""Data Source=" Server.MapPath(""order.mdb"") objConn.Open '建立一个Recordset对象 Dim objRS Set objRS =Server.CreateObject(""ADODB.Recordset"") '光标位置必须设置为adUseClient ob irs.cursorlocation aduseclient '打开数据表(必须使用adOpenStatic光标 ob jRS.Open"出货单",objConn,adOpenStatic,.adLock0 ptimistic, adCmdTable
'关闭数据库连接并释放对象 objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing %> c. Dim objConn Set objConn = Server.CreateObject(""ADODB.Connection"") objConn.ConnectionString = ""Provider=Microsoft.Jet.OLEDB.4.0;"" & _ ""Data Source="" & Server.MapPath(""order.mdb"") objConn.Open '建立一个 Recordset 对象 Dim objRS Set objRS = Server.CreateObject(""ADODB.Recordset"") '光标位置必须设置为 adUseClient objRS.CursorLocation = adUseClient '打开数据表(必须使用 adOpenStatic 光标) objRS.Open ""出货单"", objConn, adOpenStatic, adLockOptimistic, adCmdTable
’根据数量成绩由高至低进行排序 0 ’读取数据表的字段名称以作为表格的标题 For I =0 To objRS.Field objs.Fiolds().ae&”√eponse.rite“TD”& Next %> “ Data Data& ob jRS.Fields(I).Value “ Next Response.Write Data &* objRS.MoveNext Loop '关闭数据库库连接并释放对象 ob jRS.Close Set objRS Nothing ob jConn.Close Set ob jConn Nothing %> d. 〈% Dim objRS Set objRS=GetRecordset("order.mdb","出货单")
'根据数量成绩由高至低进行排序 objRS.Sort = ""数量 DESC"" %> "" & objRS.Fields(I).Name & """" Next %> "" For I = 0 To objRS.Fields.Count - 1 Data = Data & """" & objRS.Fields(I).Value & """" Next Response.Write Data & """" objRS.MoveNext Loop '关闭数据库库连接并释放对象 objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing %> d. <% Dim objRS Set objRS = GetRecordset(""order.mdb"", ""出货单"")
’设置筛选条件 objRS.Fi1ter=“数量>=200AD折扣0.7 读取数据表的字段名称以作为表格的标题 For I =0 To objRS.Fields.Count -1 Response.Write ""& ob jRS.Fields(I).Name &*" Next (% Do While Not objRS.EOF Data="“ For I =0 To objRS.Fields.Count -1 DataData &""*"&objRS.Fields(I).Value ”““ Next Response.Write Data&" ob jRS.MoveNext Loop ’关闭数据库连接并释放对象 ob iRS.Close Set objRS =Nothing ob jConn.Close Set objConn =Nothing
'设置筛选条件 objRS.Filter = ""数量 >= 200 AND 折扣 >= 0.7"" %> "" & objRS.Fields(I).Name & """" Next %> "" For I = 0 To objRS.Fields.Count - 1 Data = Data & """" & objRS.Fields(I).Value & """" Next Response.Write Data & """" objRS.MoveNext Loop '关闭数据库连接并释放对象 objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing %>