课后习题及参考答案 )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数据库文件<order.mdb>,表名称为“出货单”,字段名称 与数据类型如表10-5所示,然后再依照图10-22所示输入12条记录。 表10-5 字段名称 数据类型 名 备忘 书 文字 定 数子 数量 数字 折扣 数字(字段大小设为[单精度数]) 客户 备忘 (a)请编写一个ASP程序读取表的所有记录并依照图10-23所示的格式显示出 <Ex10- sp> 请编 个ASP程序在此表新增两条记录,第一条记录的值为“快快乐 乐学Exce12000 “3103123 、“400 50 “0.85”、 “何嘉仁”, 第二条记录的值为“快快乐乐学Access2000”、 “3103125”、“420”、 “100”、“0.8”、“金石堂”,如图10-24所示。<Ex10-2.asp> (c)请编写一个ASP程序读取表的所有记录,并依照数量由高至低排列显示出 来,如图10-25所示。<Ex10-3.asp 请编写一个ASP程序读取表的所有记录,并筛选出数量大于等于200 且折扣大于等于0.7的记录,如图10-26所示。<Ex10-4.asp> 参考答案 、洗择题 1-5 (BD)ABCB 6-10 DBAC 二、操作题 a.<BODY> <!-#include files="“ADOFunctions.asp"”- Dim objRS Set objRS=GetRecordset(“order.mdb"”,"出货单") <TABLE BORDER=“1“> <TR> <THD>书名</TE (TH)书号</TH <TH)定价(/TH <TH>数量</THD TD折扣TD <TH>客户</THD
C.adOpenDynamic D.adOpenStatic 二、操作题 请制作一个 Access 数据库文件 <order.mdb>,表名称为“出货单”,字段名称 与数据类型如表 10-5 所示,然后再依照图 10-22 所示输入 12 条记录。 表 10-5 字段名称 数据类型 书名 备忘 书号 文字 定价 数字 数量 数字 折扣 数字 (字段大小设为 [单精度数]) 客户 备忘 (a) 请编写一个ASP程序读取表的所有记录并依照图10-23所示的格式显示出 来。<Ex10-1.asp> (b) 请编写一个 ASP 程序在此表新增两条记录,第一条记录的值为“快快乐 乐学 Excel 2000”、“3103123”、“400”、“50”、“0.85”、“何嘉仁”, 第二条记录的值为“快快乐乐学 Access 2000”、“3103125”、“420”、 “100”、“0.8”、“金石堂”,如图 10-24 所示。<Ex10-2.asp> (c) 请编写一个 ASP 程序读取表的所有记录,并依照数量由高至低排列显示出 来,如图 10-25 所示。<Ex10-3.asp> (d) 请编写一个 ASP 程序读取表的所有记录,并筛选出数量大于等于 200 且折扣大于等于 0.7 的记录,如图 10-26 所示。<Ex10-4.asp> 参考答案 一、选择题 1-5 (BD)ABCB 6-10 DBACA 二、操作题 a. <BODY> <!- #include file=""ADOFunctions.asp"" -> <% Dim objRS Set objRS = GetRecordset(""order.mdb"", ""出货单"") %> <TABLE BORDER=""1""> <TR> <TH>书名</TH> <TH>书号</TH> <TH>定价</TH> <TH>数量</TH> <TH>折扣</TH> <TH>客户</TH>
</TR> Do While Not objRS.EOF Response.Write“"<TR><TD>“"&obRS("“书名“")& </TD》” Response.Write”"<TD>”&objRS("书号")&"</TD>” Response,.Write”"<TD>&obRs(“定价)&/TD> Response.Write“<TD>&obRS(“数量&“</TD> Response.WriteT&objS( 折扣“”)&”</TD> Response.Write"<TD>"&objRS(“客户")& "</TD>X/TR>“ Loop ”关闭数据库连接并释放对象 ob jRS.Close Set objRS =Nothing objConn.Close Set objConn =Nothing %> </TABLE> </BODY> </HTML> b.<HTML> <BODY> <!-#include file=""ADOFunctions.asp""-> 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
</TR> <% Do While Not objRS.EOF Response.Write ""<TR><TD>"" & objRS(""书名"") & ""</TD>"" Response.Write ""<TD>"" & objRS(""书号"") & ""</TD>"" Response.Write ""<TD>"" & objRS(""定价"") & ""</TD>"" Response.Write ""<TD>"" & objRS(""数量"") & ""</TD>"" Response.Write ""<TD>"" & objRS(""折扣"") & ""</TD>"" Response.Write ""<TD>"" & objRS(""客户"") & ""</TD></TR>"" objRS.MoveNext Loop '关闭数据库连接并释放对象 objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing %> </TABLE> </BODY> </HTML> b. <HTML> <BODY> <!- #include file=""ADOFunctions.asp"" -> <% 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 %> </BODY> </HTML> c.<HTML> <BODY> <!-#include file=""adovbs.inc""-> '使用Connection对象打开Access数据库 <order.mdb> 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 %> </BODY> </HTML> c. <HTML> <BODY> <!- #include file=""adovbs.inc"" -> <% '使用 Connection 对象打开 Access 数据库 <order.mdb> 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
’根据数量成绩由高至低进行排序 <TABLE BORDER="“1"> <TR> 0 ’读取数据表的字段名称以作为表格的标题 For I =0 To objRS.Field objs.Fiolds().ae&”√eponse.rite“TD”& Next %> </TR <% Do While Not objRS.EOF Data="“<TR>“ Data Data& ob jRS.Fields(I).Value “</TD> Next Response.Write Data &*</TR> objRS.MoveNext Loop '关闭数据库库连接并释放对象 ob jRS.Close Set objRS Nothing ob jConn.Close Set ob jConn Nothing %> </TABLE> </BODY> </HTML> d.<HTML> <BODY> <!-#include file=""ADOFunctions.asp"-> 〈% Dim objRS Set objRS=GetRecordset("order.mdb","出货单")
'根据数量成绩由高至低进行排序 objRS.Sort = ""数量 DESC"" %> <TABLE BORDER=""1""> <TR> <% '读取数据表的字段名称以作为表格的标题 For I = 0 To objRS.Fields.Count - 1 Response.Write ""<TH>"" & objRS.Fields(I).Name & ""</TH>"" Next %> </TR> <% Do While Not objRS.EOF Data = ""<TR>"" For I = 0 To objRS.Fields.Count - 1 Data = Data & ""<TD>"" & objRS.Fields(I).Value & ""</TD>"" Next Response.Write Data & ""</TR>"" objRS.MoveNext Loop '关闭数据库库连接并释放对象 objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing %> </TABLE> </BODY> </HTML> d. <HTML> <BODY> <!- #include file=""ADOFunctions.asp"" -> <% Dim objRS Set objRS = GetRecordset(""order.mdb"", ""出货单"")