课后习题及参考答案 假设我们有一个Access数据库文件<order.mdb>,里面有一个“出货单”表 内含12条记录,如图11-16所示 ( 请由此表算出各个客户的应收帐款并依照图11-17所示的格式显示出 来<Ex11-1.asp>(注:应收帐款=定价×数量×折扣×1.05,其中1.05为包 含5%的发票税:另外,你可以使用VBScript函数Round(Number),将数字Sumber 四舍五入)。 6) 请编写一个ASP程序读取书名以“快快乐乐学”开头的记录并显示出 来,如图11-l8所示。<Ex11-2.asp> (c) 请由此表算出各个客户的应收帐款,并依照应收帐款由高至低筛选出前 5名显示出来<Ex11-3.asp>(注:应收帐款=定价×数量×折扣×1.05, 其中l.05为包含5%的发票税:另外,你可以使用VBScript函数Round(Number), 将数字uber四舍五入),如图11-19所示。 参考答案 一、操作题 a.<HTML> <BODY> <I-一#include files="ADOFunctions.asp"”-> 出货锋rL。一9T专auad定价数量折扣1.0时5应收帐款 Dim strSQl Dim objRS Set objRS=GetSQLRecordset(strSQL,"“order.mdb"”,"出货单") %> <!-一在浏览器画面上显示表格的标题栏一〉 <TABLE BORDER="“1“> <TR> <TH>书名</TD <TH>书号</THD <TH>应收帐款</THD> <TH>客户</TH> </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>
课后习题及参考答案 假设我们有一个 Access 数据库文件 <order.mdb>,里面有一个“出货单”表, 内含 12 条记录,如图 11-16 所示。 (a) 请由此表算出各个客户的应收帐款并依照图 11-17 所示的格式显示出 来 <Ex11-1.asp> (注:应收帐款 = 定价×数量×折扣×1.05,其中 1.05 为包 含 5%的发票税;另外,你可以使用 VBScript 函数 Round(Number),将数字 Number 四舍五入)。 (b) 请编写一个 ASP 程序读取书名以“快快乐乐学”开头的记录并显示出 来,如图 11-18 所示。<Ex11-2.asp> (c) 请由此表算出各个客户的应收帐款,并依照应收帐款由高至低筛选出前 5 名显示出来 <Ex11-3.asp> (注:应收帐款 = 定价 × 数量 × 折扣 × 1.05, 其中 1.05 为包含 5% 的发票税;另外,你可以使用 VBScript 函数 Round(Number), 将数字 Number 四舍五入),如图 11-19 所示。 参考答案 一、操作题 a. <HTML> <BODY> <!- #include file=""ADOFunctions.asp"" -> <% Dim strSQL strSQL = ""SELECT *, Round(定价*数量*折扣*1.05) AS 应收帐款 FROM 出货单"" Dim objRS Set objRS = GetSQLRecordset(strSQL, ""order.mdb"", ""出货单"") %> <!- 在浏览器画面上显示表格的标题栏 -> <TABLE BORDER=""1""> <TR> <TH>书名</TH> <TH>书号</TH> <TH>应收帐款</TH> <TH>客户</TH> </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>
ob iRS.MoveNext Loop ’关闭数据库连接并释放对象 ob jRS.Close Set obiRs Nothing ob iConn.Close Set objConn=Nothing </TABLE> </BODY> </TL> b.<HTML> <BODY> 〈!-#include file="ADOFunctions.asp"”-> <% Dim strSQL strSQL=“SELECT*FROM出货单WHERE书名LIKE'快快乐乐学 Dim obirs 58 b.jR5=6ei59 Recordset6trs0L”order.db,“出货单7】 <TABLE BORDER=-"“1"> <TR> <g 读取数据表的字段名称以作为表格的标题 For I 0 To objRS.Fields.Count -1 Response.Write ""<TH>"& objRS.Fields (1).Name &*</TH>" Next </TR> <% Do While not ob irs.EOF Data="“<TR>" For I=0 To objRS.Fields.Count-1 DataData ""<TD>""&objRS.Fields(I).Value "</TD>"” Next
objRS.MoveNext Loop '关闭数据库连接并释放对象 objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing %> </TABLE> </BODY> </HTML> b. <HTML> <BODY> <!- #include file=""ADOFunctions.asp"" -> <% Dim strSQL strSQL = ""SELECT * FROM 出货单 WHERE 书名 LIKE '快快乐乐学 '"" Dim objRS Set objRS = GetSQLRecordset(strSQL, ""order.mdb"", ""出货单"") %> <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 n.Close Set objConn=Nothing </TABLE> </BODY> </HTML> c.<HTML> <BODY> <!-#include file=""ADOFunctions.asp""-> g Dim strSQL strSQL=”“SELECT Top5*,Round(定价*数量*折扣*L.05)AS应收帐 款FRON出货单ORDER BY Round(定价*数量*折扣*L.O5)DESC” Dim obiRS Set ob jRS=GetSQLRecordset(strSQL,"“order.mdb","出货单") % <!-一在浏览器画面上显示表格的标题栏一〉 <TABLE BORDER=1> <TR> <TH>书名</TH <TH>书号</THD <TH>应收帐款</THD <TH>客户</THD </TR> <% Do While Not objRS.EOF Response.Write"<TR><TD>"”&objRS("书名")& ”"</TD>" Response.Write"<TD>"”&objRS("书号")&"<fTD>" Response.rite"<TD>”&objRS("应收帐款"))& </TD>" Response.Write"<TD>"”&objRS("“客户")&"</TD>"” objRS.MoveNext
Response.Write Data & ""</TR>"" objRS.MoveNext Loop '关闭数据库连接并释放对象 objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing %> </TABLE> </BODY> </HTML> c. <HTML> <BODY> <!- #include file=""ADOFunctions.asp"" -> <% Dim strSQL strSQL = ""SELECT Top 5 *, Round(定价*数量*折扣*1.05) AS 应收帐 款 FROM 出货单 ORDER BY Round(定价*数量*折扣*1.05) DESC"" Dim objRS Set objRS = GetSQLRecordset(strSQL, ""order.mdb"", ""出货单"") %> <!- 在浏览器画面上显示表格的标题栏 -> <TABLE BORDER=""1""> <TR> <TH>书名</TH> <TH>书号</TH> <TH>应收帐款</TH> <TH>客户</TH> </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>"" objRS.MoveNext
Loop '关闭数据库连接并释放对象 ob jRS.Close Set objRS =Nothing ob jConn.Close </TABLE> </BODY> </HTML>
Loop '关闭数据库连接并释放对象 objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing %> </TABLE> </BODY> </HTML>