这篇文章介绍
银行网站应用
设计,包括
银行线上查询
系统、
信用卡线上查询系统等应用的点子、设计实例、以及详细解说,让您快速地设计出各种银行的网站应用。
银行网站资料库应用
银行使用网站资料库,可以透过Internet、或Intranet提供以下的应用∶
* 银行线上查询*
*
信用卡线上查询*
右上角标示*的应用,本节将提供设计的范例,并详加解说。
执行本章资料库的范例,所用的资料库可为Microsoft Access、Microsoft SQL Server、或Text档案(读者可修改成其他支援ODBC的资料库,详见1-6-5节),须於NT安装IIS 3.0,并於「控制台」中的「ODBC」,新建一个名称为「BookSamp」的资料来源,
驱动程式为「Microsoft Access Driver」、「SQL Server」、或「Microsoft Text 驱动程式」。详见附录 范例磁片。
1
银行线上查询系统
「银行线上查询系统」,可以透过Internet,提供查询银行存款等多项的功能。
透过Internet,连线上「银行线上查询系统」,输入帐户号码与密码,即可查询银行存款馀额、存提款明细表、外币
汇率、转帐、存
贷款利率、贷款,以及
金融卡遗失申报等金融服务。
设计实例
让我们执行一个实例。
( 范例 data3.asp 银行馀额线上查询系统
若要查询资料,於用户端使用
浏览器,浏览本书所附安装於网站伺服器的data3.asp,於「帐户号码」处输入帐户号码,譬如输入帐户号码123456789後,按下「馀额线上查询」按钮,即可显示查询的结果如下,包括帐户号码、姓名、银行馀额∶
输入错误的帐户号码时,必须告诉人家,譬如输入帐户号码123451234,显示「找不到」如下∶
设计实例详细解说
建立资料表
首先使用Microsoft Access、Microsoft SQL Server 、Text档案、或任何一种支援ODBC的资料库,建立一个资料表Bank。
於栏名ID、NAME、MONEY,分别输入帐户号码、姓名、银行馀额的资料。
使用Microsoft Access建立一个资料表Bank,如下∶
或使用Microsoft SQL Server建立一个资料表Bank,如下∶
或使用Text档案建立一个资料表Bank,如下∶
设计输入表单
接著,设计输入表单form,以让客户输入帐户号码ID1,按下「馀额线上查询」按钮submit时,即使用POST的方式将输入资料传送到网站伺服器,并执行於「form action=...」所设定的data3.asp档案(与form为同一个ASP档案),程式码如下∶
网站伺服器执行data3.asp档案,首先经由Request.Form("ID1")取得客户所输入的帐户号码ID1,若ID1非空白时,表示为表单输入所呼叫执行。
查询资料库
使用「Server.CreateObject」建立连线的物件,并使用「Open」开启待存取查询资料库BookSamp。
再使用SELECT的SQL指令查询资料库的资料,设定SQL指令,查询为ID符合帐户号码Request.Form("ID1")的资料,下个「Execute」指令,即可开始执行存取查询资料库的
动作,并将查询结果储存到RecordSets物件RS。
程式码如下∶
<%
IF Request.Form("ID1") THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT ID,NAME,MONEY FROM Bank WHERE ID=" & Request.Form("ID1")
Set RS = Conn.Execute(SQL)
接著,要显示查询的结果了。
首先,由「 IF RS.EOF THEN ...」判断是否找到ID为帐户号码Request.Form("ID1")的资料,若RS.EOF为TRUE,则显示「找不到此帐户号码」。
程式码,如下∶
查询结果:
<% IF RS.EOF THEN %>
找不到此帐户号码 <% =Request.Form("ID1") %> !若找到ID为帐户号码Request.Form("ID1")的资料,则显示查询的结果,包括帐户号码、姓名、银行馀额,分别由RecordSets物件的RS(0)、RS(1) 、RS(2) 取得。
RS.Fields.Count表示RecordSets物件的栏位数,由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各栏位的资料。配合
表格的HTML语法,将结果填入表格的各栏位当中。
若还有下一笔资料,使用RS.MoveNext移到下一笔的位置。
程式码,如下∶
<% ELSE %>
帐户号码 <% =Request.Form("ID1") %>
<% =RS(1) %>, 您的银行馀额为 <% =RS(2) %> !
帐户号码 |
姓名 |
银行馀额 |
<% Do While Not RS.EOF %>
<% For i = 0 to RS.Fields.Count - 1 %>
<% = RS(i) %> |
<% Next %>
<%
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
<% END IF %>
最後,使用RS.Close关闭RecordSet,使用Conn.Close关闭资料库。
全部的程式码,如下∶
银行馀额线上查询系统
银行馀额线上查询系统
<%
IF Request.Form("ID1") THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT ID,NAME,MONEY FROM Bank WHERE ID=" & Request.Form("ID1")
Set RS = Conn.Execute(SQL)
%>
查询结果:
<% IF RS.EOF THEN %>
找不到此帐户号码 <% =Request.Form("ID1") %> !
<% ELSE %>
帐户号码 <% =Request.Form("ID1") %>
<% =RS(1) %>, 您的银行馀额为 <% =RS(2) %> !
帐户号码 |
姓名 |
银行馀额 |
<% Do While Not RS.EOF %>
<% For i = 0 to RS.Fields.Count - 1 %>
<% = RS(i) %> |
<% Next %>
<%
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
<% END IF %>
<% END IF %>
2
信用卡线上查询系统
「信用卡线上查询系统」,可以透过Internet,提供线上查询信用卡等多项的功能。
透过Internet,连线上「信用卡线上查询系统」,输入信用卡号码,即可查询信用卡消费明细表、消费额度、累积点数,以及促销活动、线上购物、信用卡申请、信用卡申报遗失等服务。
设计实例
让我们执行一个实例。
( 范例data9.asp 信用卡消费线上查询
若要查询资料,於用户端使用浏览器,浏览本书所附安装於网站伺服器的data1.asp,於「信用卡号」处输入信用卡号,譬如信用卡号1234567890123456後,按下「查询消费明细」按钮,即可显示查询的结果如下,包括日期、姓名、消费明细、消费金额∶
若无消费时,譬如输入信用卡号1234567890000000,显示「无消费」如下∶
设计实例详细解说
建立资料表
首先使用Microsoft Access、Microsoft SQL Server 、Text档案、或任何一种支援ODBC的资料库,建立一个资料表CreditCard。
於栏名DATE、ID、NAME、DETAILS、QTY、AMOUNT分别输入消费日期、信用卡号、姓名、消费明细、数量、消费金额的资料。
使用Microsoft Access建立一个资料表CreditCard,如下∶∶
或使用Microsoft SQL Server建立一个资料表CreditCard,如下∶
或使用Text档案建立一个资料表CreditCard,如下∶
设计输入表单
接著,设计输入表单form,以让查询者输入信用卡号ID1,按下「查榜」按钮submit时,即使用POST的方式将输入资料传送到网站伺服器,并执行於「form action=...」所设定的data9.asp档案(与form为同一个ASP档案),程式码如下∶
网站伺服器执行data9.asp档案,首先经由Request.Form("ID1")取得查询者所输入的信用卡号ID1,若ID1非空白时,表示为表单输入所呼叫执行。
查询资料库
使用「Server.CreateObject」建立连线的物件,并使用「Open」开启待存取查询资料库BookSamp。
再使用SELECT的SQL指令查询资料库的资料,设定SQL指令,查询为ID符合信用卡号Request.Form("ID1")的资料,下个「Execute」指令,即可开始执行存取查询资料库的动作,并将查询结果储存到RecordSets物件RS。
程式码如下∶
<%
IF Request.Form("ID1") THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT DATE,NAME,DETAILS,AMOUNT FROM CreditCard WHERE ID=" & Request.Form("ID1")
Set RS = Conn.Execute(SQL)
%>
接著,要显示查询的结果了。
首先,由「 IF RS.EOF THEN ...」判断是否找到ID为信用卡号Request.Form("ID1")的消费资料,若RS.EOF为TRUE,则显示「信用卡号...无消费!」。
程式码,如下∶
信用卡消费查询结果:
<% IF RS.EOF THEN %>
信用卡号 <% =Request.Form("ID1") %> 无消费!
若ID为信用卡号Request.Form("ID1")的消费资料,则显示查询的结果,包括日期、姓名、消费明细、消费金额,分别由RecordSets物件的RS(0)、RS(1) 、RS(2)、RS(3) 取得。
RS.Fields.Count表示RecordSets物件的栏位数,由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各栏位的资料。配合表格的HTML语法,将结果填入表格的各栏位当中。
总计消费金额的计算,RS(3)为消费金额,由「IF i = 3 THEN... TOTAL = TOTAL + RS(3)」将所有RS(3) 的消费金额加总,以得到总计的和。
若还有下一笔资料,使用RS.MoveNext移到下一笔的位置。
程式码,如下∶
<% ELSE %>
信用卡号 <% =Request.Form("ID1") %>
<% = RS(1) %> 先生(小姐), 您上个月的消费明细表, 详见下表:
日期 |
姓名 |
消费明细 |
消费金额 |
<% TOTAL=0 %>
<% Do While Not RS.EOF %>
<% For i = 0 to RS.Fields.Count - 1 %>
<% IF i = 3 THEN %>
$ <% = RS(i) %> |
<% Else %>
<% = RS(i) %> |
<% END IF %>
<% Next %>
<%
TOTAL = TOTAL + RS(3)
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
总计: $ <% = TOTAL %>
<% END IF %>
最後,使用RS.Close关闭RecordSet,使用Conn.Close关闭资料库。
全部的程式码,如下∶
信用卡消费 线上查询系统
信用卡消费 线上查询系统
<%
IF Request.Form("ID1") THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT DATE,NAME,DETAILS,AMOUNT FROM CreditCard WHERE ID=" & Request.Form("ID1")
Set RS = Conn.Execute(SQL)
%>
信用卡消费查询结果:
<% IF RS.EOF THEN %>
信用卡号 <% =Request.Form("ID1") %> 无消费!
<% ELSE %>
信用卡号 <% =Request.Form("ID1") %>
<% = RS(1) %> 先生(小姐), 您上个月的消费明细表, 详见下表:
日期 |
姓名 |
消费明细 |
消费金额 |
<% TOTAL=0 %>
<% Do While Not RS.EOF %>
<% For i = 0 to RS.Fields.Count - 1 %>
<% IF i = 3 THEN %>
$ <% = RS(i) %> |
<% Else %>
<% = RS(i) %> |
<% END IF %>
<% Next %>
<%
TOTAL = TOTAL + RS(3)
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
总计: $ <% = TOTAL %>
<% END IF %>
<% END IF %>