六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

股票網站方案設計

[摘要]這篇文章介紹股市網站應用設計,包括股市成交線上查詢系統、線上股市買賣交易系統等應用的點子、設計實例、以及詳細解說,讓您快速地設計出各種股市的網站應用。股市網站資料庫應用股市使用網站資料庫,可以透過I...

這篇文章介紹股市網站應用設計,包括股市成交線上查詢系統、線上股市買賣交易系統等應用的點子、設計實例、以及詳細解說,讓您快速地設計出各種股市的網站應用。

股市網站資料庫應用
股市使用網站資料庫,可以透過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,連線上證券公司的「股市成交線上查詢系統」,輸入帳戶號碼,即可查詢成交的結果,包括成交的股票名稱、和數量。
并可以提供股市大盤分析、即時技術分析、收盤價格、股市消息等股市資訊。
設計實例
讓我們執行一個實例。
( 范例 data2.asp 股市成交線上查詢
若要查詢成交資料,於用戶端使用瀏覽器,瀏覽本書所附安裝於網站伺服器的data2.asp。
於「帳號」處輸入帳號後,譬如輸入帳號123456,按下「成交查詢」按鈕,即可顯示查詢的結果如下,包括成交日期、股票名稱、買進賣出、成交數量、成交價格∶ 
找不到成交記錄時,譬如輸入帳號654321,顯示如下∶ 

設計實例詳細解說
建立資料表
首先使用Microsoft Access、Microsoft SQL Server 、Text檔案、或任何一種支援ODBC的資料庫,建立一個資料表Stock。
於欄名DATE、ID、TYPE、STOCK、QTY、PRICE分別輸入成交日期、帳號、買進賣出、股票名稱、成交數量、成交價格的資料。
使用Microsoft Access建立一個資料表Stock,如下∶ 
或使用Microsoft SQL Server建立一個資料表Stock,如下∶ 
或使用Text檔案建立一個資料表Stock,如下∶ 

設計輸入表單
接著,設計輸入表單form,以讓查詢者輸入帳號ID1,按下「成交查詢」按鈕submit時,即使用POST的方式將輸入資料傳送到網站伺服器,并執行於「form action=...」所設定的data2.asp檔案(與form為同一個ASP檔案),程式碼如下∶
<form action="data2.asp" method="post"> 
帳號: <INPUT TYPE=TEXT VALUE="123456" NAME=ID1 SIZE=10>
<INPUT TYPE=submit VALUE="成交查詢" name="Action">
</form>
網站伺服器執行data2.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,STOCK,TYPE,QTY,PRICE FROM Stock WHERE ID=" & Request.Form("ID1")
Set RS = Conn.Execute(SQL)
%>
接著,要顯示查詢的結果了。
首先,由「 IF RS.EOF THEN ...」判斷是否找到ID為帳號Request.Form("ID1")的資料,若RS.EOF為TRUE,則顯示「報歉 , 帳號 ...未成交!」。
程式碼,如下∶
成交查詢結果:<br>
<% IF RS.EOF THEN %>
<FONT COLOR="#0000FF">報歉 , 帳號 <% =Request.Form("ID1") %> 未成交!</FONT>
若找到ID為帳號Request.Form("ID1")的成交資料時,則顯示查詢的結果,包括成交日期、股票名稱、買進賣出、成交數量、成交價格,分別由RecordSets物件的RS(0)、RS(1) 、RS(2)、RS(3) 、RS(4) 取得。
RS.Fields.Count表示RecordSets物件的欄位數,由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各欄位的資料。配合<TABLE>表格的HTML語法,將結果填入表格的各欄位當中。
若還有下一筆資料,使用RS.MoveNext移到下一筆的位置。
程式碼,如下∶
<% ELSE %>
<FONT COLOR="#FF0000">
恭喜您, 帳號 <% =Request.Form("ID1") %> <BR>
有成交, 如下表:<BR>
</FONT>
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>日期</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>股票</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>買賣</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>成交數量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>成交價格</FONT></TD>
</TR> 
<% Do While Not RS.EOF %>
<TR>
<% For i = 0 to RS.Fields.Count - 1 %>
<TD BGCOLOR="f7efde" VALIGN=TOP><FONT COLOR="#0000"><% = RS(i) %></FONT></TD>
<% Next %>
</TR>
<%
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
</TABLE> 
<% END IF %>
最後,使用RS.Close關閉RecordSet,使用Conn.Close關閉資料庫。
全部的程式碼,如下∶
<HTML>
<HEAD>
<TITLE>股市成交線上查詢系統</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=big5">
</HEAD>
<CENTER>
<BODY BGCOLOR=#FFFFFF>
<FONT SIZE=+2 COLOR="#0000FF">股市成交線上查詢系統</FONT> 
<%
IF Request.Form("ID1") THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT DATE,STOCK,TYPE,QTY,PRICE FROM Stock WHERE ID=" & Request.Form("ID1")
Set RS = Conn.Execute(SQL)
%>
<HR>
成交查詢結果:<br>
<% IF RS.EOF THEN %>
<FONT COLOR="#0000FF">報歉 , 帳號 <% =Request.Form("ID1") %> 未成交!</FONT>
<% ELSE %>
<FONT COLOR="#FF0000">
恭喜您, 帳號 <% =Request.Form("ID1") %> <BR>
有成交, 如下表:<BR>
</FONT>
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>日期</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>股票</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>買賣</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>成交數量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>成交價格</FONT></TD>
</TR> 
<% Do While Not RS.EOF %>
<TR> 
<% For i = 0 to RS.Fields.Count - 1 %>
<TD BGCOLOR="f7efde" VALIGN=TOP><FONT COLOR="#0000"><% = RS(i) %></FONT></TD> 
<% Next %>
</TR> 
<%
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
</TABLE> 
<% END IF %>
<HR>
<% END IF %> 
<BR> 
<form action="data2.asp" method="post"> 
帳號: <INPUT TYPE=TEXT VALUE="123456" NAME=ID1 SIZE=10>
<INPUT TYPE=submit VALUE="成交查詢" name="Action">
</form>
<HR>
</CENTER>
</BODY>
</HTML>

2
線上股市買賣交易系統
「線上股市買賣交易系統」,可以透過Internet,提供線上股票委托買賣下單的功能。
股市投資人可以透過Internet,連線上證券公司的「線上股市買賣交易系統」,輸入帳戶號碼、買賣的股票名稱、和數量,即可完成委托下單的手續。
委托下單時,買賣交易系統提供可以增加、取消、查詢委托下單的功能。
下單後,透過Internet,可查詢成交的結果,包括成交的股票名稱、和數量。
設計實例
讓我們執行一個實例。
( 范例 data13.asp 線上股市買賣交易
若要做線上股市買賣交易,於用戶端使用瀏覽器,瀏覽本書所附安裝於網站伺服器的data13.asp。
於「帳號」處輸入帳號如123456,於「買賣」處選擇買進賣出如買進,於「股票代號」處輸入股票代號如2306,於「數量」處輸入數量如10,於「價格」處輸入價格如80後,按下「委托下單」按鈕,即可顯示委托下單的結果如下,包括帳號、買賣、股票代號、數量、價格、委托單代號∶ 

取消委托單
委托下單後,可以取消所委托的記錄,於「委托單代號」處輸入委托單代號如1997428224659後,按下「取消委托單」按鈕,即可顯示取消委托的結果如下∶ 

若待取消的委托單尚未委托下單過,則取消委托單時顯示「找不到委托單」如下∶ 

查詢委托單
委托下單後,可以查詢所有委托的記錄,僅須於「帳號」處輸入帳號如123456後,按下「查詢委托單」按鈕,即可顯示委托單的結果如下∶ 

查詢委托單時,若尚未委托下單,則查詢委托單時將顯示「找不到委托單」如下∶ 

成交查詢
委托下單後,可以查詢所有委托的記錄是否已經成交,僅須於「帳號」處輸入帳號如123456後,按下「成交查詢」按鈕,即可顯示成交查詢的結果如下∶ 

成交查詢時,若尚未成交,則查詢成交將顯示「未成交」如下∶ 

設計實例詳細解說
建立資料表
首先使用Microsoft Access、Microsoft SQL Server 、Text檔案、或任何一種支援ODBC的資料庫,建立一個資料表StockRequest,儲存委托單記錄。
使用Microsoft Access建立一個資料表StockRequest,如下∶ 

建立欄位ID、TYPE、STOCK、QTY、PRICE、SN,分別代表一個委托單的客戶帳號、買進賣出、股票代號、數量、價格、委托單號碼。建立資料表時不必輸入資料。
或使用Microsoft SQL Server建立一個資料表StockRequest,如下∶ 
或使用Text檔案建立一個資料表StockRequest,如下∶ 
另外建立一個資料表Stock,儲存成交的記錄,於欄名DATE、ID、TYPE、STOCK、QTY、PRICE,分別輸入成交日期、帳號、買進賣出、股票名稱、成交數量、成交價格的資料。
委托單記錄資料表StockRequest,與成交的記錄資料表Stock之間的關系,留給讀者自行發揮。
使用Microsoft Access建立一個資料表Stock,如下∶ 
或使用Microsoft SQL Server建立一個資料表Stock,如下∶ 
或使用Text檔案建立一個資料表Stock,如下∶ 

設計輸入的表單
接著,設計輸入的表單form,線上購物時,當客戶輸入帳號ID1,選擇買進賣出TYPE1,輸入股票代號STCOK1,數量QTY1,價格PRICE1,按下「委托下單」按鈕submit時,即使用POST的方式將輸入資料傳送到網站伺服器,并執行於「form action=...」所設定的data13.asp檔案(與form為同一個ASP檔案),程式碼如下∶
股市買賣委托, 請輸入以下資料:<br>
<form action="data13.asp" method="post">
<FONT COLOR="#FF8080"> </FONT>帳號 (如123456): 
<INPUT TYPE=TEXT VALUE="123456" NAME="ID1" SIZE=10><BR>
<FONT COLOR="#FF8080"> </FONT>買賣: 
<select name="TYPE1">
<OPTION SELECTED>買進
<OPTION>賣出
</select>
<br>
<FONT COLOR="#FF8080"> </FONT>股票代號 (如2306): 
<INPUT TYPE=TEXT VALUE="2306" NAME="STOCK1" SIZE=6><BR>
<FONT COLOR="#FF8080"> </FONT>數量: 
<INPUT TYPE=TEXT VALUE="10" NAME="QTY1" SIZE=6><BR>
<FONT COLOR="#FF8080"> </FONT>價格: 
<INPUT TYPE=TEXT VALUE="80" NAME="PRICE1" SIZE=6><BR> 
<INPUT TYPE=submit VALUE="委托下單" name="Action"><p> 
<HR WIDTH = 30% ALIGN=LEFT>
<FONT COLOR="#FF0000"> </FONT>委托單代號: 
<INPUT TYPE=TEXT NAME="SN1" SIZE=12>
<INPUT TYPE=submit VALUE="取消委托單" name="Action"><P> 
<FONT COLOR="#0000FF"> </FONT>帳號: 
<INPUT TYPE=TEXT VALUE="123456" NAME="ID2" SIZE=10>
<INPUT TYPE=submit VALUE="查詢委托單" name="Action"><P> 
<FONT COLOR="#00FF00"> </FONT>帳號: 
<INPUT TYPE=TEXT VALUE="123456" NAME="ID3" SIZE=10>
<INPUT TYPE=submit VALUE="成交查詢" name="Action">
</form>
取消取消委托單時,客戶輸入委托單代號SN1,按下「取消委托單」按鈕submit送到網站伺服器。
查詢委托單時,客戶輸入帳號ID2,按下「查詢委托單」按鈕submit送到網站伺服器。
查詢成交時,客戶輸入帳號ID3,按下「成交查詢」按鈕submit送到網站伺服器。
當網站伺服器執行data13.asp檔案時,首先經由Request.Form("Action")取得所按submit按鈕上的顯示文字VALUE,Left(Request.Form("Action"),2)系只取前兩個中文字,若Request.Form("Action")非空白時,表示為表單輸入所呼叫執行。
由「SELECT CASE Left(Request.Form("Action"),2) 」判斷是按了那個按鈕。若按鈕上前兩個字為「委托」時,則執行AddStock() 副程式;若為「取消」時,則執行DeleteStock() 副程式;若為「查詢」時,則執行CheckStock() 副程式;若為「成交」時,則執行CheckTrans() 副程式。
<%
SELECT CASE Left(Request.Form("Action"),2)
CASE "委托"
AddStock()
CASE "取消"
DeleteStock()
CASE "查詢"
CheckStock()
CASE "成交"
CheckTrans()
END SELECT
%>
委托下單
按了「委托下單」按鈕時,將執行AddStock() 副程式。
首先,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
於StockRequest資料表,使用「INSERT INTO...」指令新增一筆資料。此筆新增資料的欄位ID、TYPE、STOCK、QTY、PRICE為所輸入的表單資料。委托單欄位SN系設定為下單時的日期時間。
程式碼如下∶
Sub AddStock()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa","" 
SNNO = YEAR(DATE()) & MONTH(DATE()) & DAY(DATE()) & HOUR(NOW) & MINUTE(NOW) & SECOND(NOW) 
SQL = "INSERT INTO StockRequest (ID, TYPE, STOCK, QTY, PRICE, SN) VALUES('" & Request.Form("ID1") & "','" & LEFT(Request.Form("TYPE1"),2) & "','" & Request.Form("STOCK1") & "','" & Request.Form("QTY1") & "','" & Request.Form("PRICE1") & "','" & SNNO & "')" 
Set RS = Conn.Execute(SQL)
接著,要顯示執行的結果了。
顯示執行的結果時,配合<TABLE>表格的HTML語法,將輸入資料與委托單代號填入表格的各欄位當中。
程式碼,如下∶
<FONT COLOR="#0000FF">委托下單結果:</FONT><br>
<FONT COLOR="#0000FF">下單 OK ! 委托單代號為 <% =SNNO %></FONT>
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>帳號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>買賣</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>股票代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>價格</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>委托單代號</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("ID1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("TYPE1"),2) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("STOCK1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("QTY1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("PRICE1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =SNNO %></FONT></TD>
</TR> 
</TABLE>
<%
Conn.Close
End Sub %>
最後,使用Conn.Close關閉資料庫。
取消委托單
按了「取消委托單」按鈕時,將執行DeleteStock() 副程式。
首先,先尋找到所待取消的委托單,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
再使用SELECT的SQL指令查詢資料庫的資料,於StockRequest資料表,設定SQL指令,查詢委托單號碼欄位符合所輸入Request.Form("SN1")的資料,下個「Execute」指令,即可開始執行存取查詢資料庫的動作,并將查詢結果儲存到RecordSets物件RS。
由「IF RS.EOF THEN ...」判斷是否找到所待取消的委托單,若RS.EOF為TRUE,表示找不到此委托單,則顯示「找不到委托單代號...」。
程式碼如下∶
<%
Sub DeleteStock()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa","" 
SQL = "SELECT * FROM StockRequest WHERE SN = '" & Request.Form("SN1") & "'" 
Set RS = Conn.Execute(SQL)
%> 
<HR>
<FONT COLOR="#0000FF">取消委托結果:</FONT><br>
<% 
IF RS.EOF THEN 
'找不到 ! 
%>
<FONT COLOR="#FF0000">找不到委托單代號 <% =Request.Form("SN1") %> !</FONT>
若找到所待取消的委托單,則於StockRequest資料表,使用「DELETE FROM...」指令刪除此筆委托單資料。
接著,顯示執行的結果,配合<TABLE>表格的HTML語法,將於StockRequest資料表刪除的委托單資料,填入表格的各欄位當中,以顯示出來。
程式碼,如下∶
<% ELSE '取消委托 ! %>
<FONT COLOR="#FF0000">委托單代號 <% =Request.Form("SN1") %> 已經取消 !</FONT> 
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1> 
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>帳號</FONT></TD> 
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>買賣</FONT></TD> 
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>股票代號</FONT></TD> 
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>價格</FONT></TD> 
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>委托單代號</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(0) %></FONT></TD> 
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(1) %></FONT></TD> 
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(2) %></FONT></TD> 
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(3) %></FONT></TD> 
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(4) %></FONT></TD> 
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(5) %></FONT></TD>
</TR> 
</TABLE>
<%
'StockRequest刪除一筆
SQL = "DELETE FROM StockRequest WHERE SN = '" & Request.Form("SN1") & "'"
Set RS = Conn.Execute(SQL)
END IF 
Conn.Close
End Sub %>
最後,使用Conn.Close關閉資料庫。
查詢委托單
按了「查詢委托單」按鈕時,執行CheckStock() 副程式。
首先,先尋找到所待查詢帳號的委托單,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
再使用SELECT的SQL指令查詢資料庫的資料,於StockRequest資料表,設定SQL指令,查詢帳號ID符合所輸入Request.Form("ID2")的資料,下個「Execute」指令,即可開始執行存取查詢資料庫的動作,并將查詢結果儲存到RecordSets物件RS。
由「IF RS.EOF THEN ...」判斷是否找到所待查詢帳號的所有委托單記錄,若RS.EOF為TRUE,表示找不到此帳號的委托單,則顯示「找不到委托單 !」。
程式碼如下∶
<%
Sub CheckStock()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa","" 
SQL = "SELECT * FROM StockRequest WHERE ID = '" & Request.Form("ID2") & "'" 
Set RS = Conn.Execute(SQL)
%>
<HR>
<FONT COLOR="#0000FF">查詢委托單結果:</FONT><br> 
<% 
IF RS.EOF THEN 
'找不到委托單 ! 
%>
<FONT COLOR="#FF0000">找不到委托單 !</FONT>
若找到帳號ID符合所輸入Request.Form("ID2")的資料,則顯示查詢的結果,包括帳號、買賣、股票代號、數量、價格、委托單代號,分別由RecordSets物件的RS(0)、RS(1)、RS(2)、RS(3)、RS(4)、RS(5)取得。
RS.Fields.Count表示RecordSets物件的欄位數,由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各欄位的資料。配合<TABLE>表格的HTML語法,將結果填入表格的各欄位當中。
由「If INT(j/2)*2 <> j Then... 」判斷顯示奇偶筆的委托單資料,奇偶列顯示不同的顏色。
若還有下一筆資料,使用RS.MoveNext移到下一筆的位置。
程式碼,如下∶
<% ELSE %>
<% '有委托單 ! %>
<FONT COLOR="#0000ff">委托單如下:</FONT> 
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>帳號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>買賣</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>股票代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>價格</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>委托單代號</FONT></TD>
</TR> 
<% j = 1 %> 
<% Do While Not RS.EOF %>
<TR> 
<% For i = 0 to RS.Fields.Count - 1 %>
<% If INT(j/2)*2 <> j Then %>
<TD BGCOLOR="E8FFFF" ALIGN=CENTER>
<FONT COLOR="#000000"><%= RS(i) %></FONT></TD> 
<% Else %>
<TD ALIGN=CENTER BGCOLOR="#C0FFFF">
<FONT COLOR="#000000"><%= RS(i) %></FONT></TD>
<% END IF %> 
<% Next %>
</TR>
<%
RS.MoveNext
j = j + 1 
Loop
%>
</TABLE> 

<% END IF 
RS.Close
Conn.Close
End Sub %>
最後,使用RS.Close關閉RecordSet,使用Conn.Close關閉資料庫。
成交查詢
按了「成交查詢」按鈕時,執行CheckTrans() 副程式。
首先,尋找到所待查詢帳號的成交記錄,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
再使用SELECT的SQL指令查詢資料庫的資料,於Stock資料表,設定SQL指令,查詢帳號欄位ID符合所輸入Request.Form("ID3")的資料,下個「Execute」指令,即可開始執行存取查詢資料庫的動作,并將查詢結果儲存到RecordSets物件RS。
由「IF RS.EOF THEN ...」判斷是否找到所待查詢帳號的所有成交記錄,若RS.EOF為TRUE,表示找不到此帳號的成交記錄,則顯示「報歉, 帳號...未成交!」。
程式碼如下∶
<%
Sub CheckTrans()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT DATE,STOCK,TYPE,QTY,PRICE FROM Stock WHERE ID=" & Request.Form("ID3") 
Set RS = Conn.Execute(SQL)
%> 
<HR>
成交查詢結果:<br>
<% IF RS.EOF THEN %>
<FONT COLOR="#0000FF">報歉 , 帳號 <% =Request.Form("ID3") %> 未成交!</FONT>
若找到帳號ID符合所輸入Request.Form("ID3")的資料,則顯示查詢的結果,包括日期、股票、買賣、成交數量、成交價格,分別由RecordSets物件的RS(0)、RS(1)、RS(2)、RS(3)、RS(4) 取得。
RS.Fields.Count表示RecordSets物件的欄位數,由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各欄位的資料。配合<TABLE>表格的HTML語法,將結果填入表格的各欄位當中。
若還有下一筆資料,使用RS.MoveNext移到下一筆的位置。
程式碼,如下∶
<% ELSE %>
<FONT COLOR="#FF0000">
恭喜您, 帳號 <% =Request.Form("ID3") %> <BR>
有成交, 如下表:<BR>
</FONT>
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1> 
<TR> 
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>日期</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>股票</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>買賣</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>成交數量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>成交價格</FONT></TD> 
</TR>
<% Do While Not RS.EOF %>
<TR> 
<% For i = 0 to RS.Fields.Count - 1 %>
<TD BGCOLOR="f7efde" VALIGN=TOP><FONT COLOR="#0000"><% = RS(i) %></FONT></TD> 
<% Next %>
</TR> 
<%
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
</TABLE> 
<% END IF 
End Sub %>
最後,使用RS.Close關閉RecordSet,使用Conn.Close關閉資料庫。
全部的程式碼,如下∶
<HTML>
<HEAD>
<TITLE>線上股市買賣交易系統</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=big5">
</HEAD> 
<BODY BGCOLOR=#FFFFFF>
<FONT SIZE=+2 COLOR="#0000FF">線上股市買賣交易系統</FONT>
<%
SELECT CASE Left(Request.Form("Action"),2) 
CASE "委托"
AddStock() 
CASE "取消"
DeleteStock() 
CASE "查詢"
CheckStock() 
CASE "成交"
CheckTrans()
END SELECT 
Sub AddStock()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SNNO = YEAR(DATE()) & MONTH(DATE()) & DAY(DATE()) & HOUR(NOW) & MINUTE(NOW) & SECOND(NOW) 
SQL = "INSERT INTO StockRequest(ID,TYPE,STOCK,QTY,PRICE,SN) VALUES('" & Request.Form("ID1") & "','" & LEFT(Request.Form("TYPE1"),2) & "','" & Request.Form("STOCK1") & "','" & Request.Form("QTY1") & "','" & Request.Form("PRICE1") & "','" & SNNO & "')" 
Set RS = Conn.Execute(SQL)
%>
<HR>
<FONT COLOR="#0000FF">委托下單結果:</FONT><br>
<FONT COLOR="#0000FF">下單 OK ! 委托單代號為 <% =SNNO %></FONT>
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>帳號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>買賣</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>股票代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>價格</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>委托單代號</FONT></TD> 
<TR> 
</TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("ID1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("TYPE1"),2) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("STOCK1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("QTY1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("PRICE1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =SNNO %></FONT></TD>
</TR> 
</TABLE> 
<%
Conn.Close
End Sub %> 
<%
Sub DeleteStock()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT * FROM StockRequest WHERE SN = '" & Request.Form("SN1") & "'"
Set RS = Conn.Execute(SQL)
%>
<HR> 

<FONT COLOR="#0000FF">取消委托結果:</FONT><br>
<% 
IF RS.EOF THEN 
'找不到 ! 
%>
<FONT COLOR="#FF0000">找不到委托單代號 <% =Request.Form("SN1") %> !</FONT>
<% ELSE 
'取消委托 ! 
%>
<FONT COLOR="#FF0000">委托單代號 <% =Request.Form("SN1") %> 已經取消 !</FONT> 
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>帳號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>買賣</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>股票代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>價格</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>委托單代號</FONT></TD> 
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(0) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(1) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(2) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(3) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(4) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(5) %></FONT></TD>
</TR> 
</TABLE> 
<%
'StockRequest刪除一筆
SQL = "DELETE FROM StockRequest WHERE SN = '" & Request.Form("SN1") & "'"
Set RS = Conn.Execute(SQL)
END IF 
Conn.Close
End Sub %> 
<%
Sub CheckStock()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa","" 
SQL = "SELECT * FROM StockRequest WHERE ID = '" & Request.Form("ID2") & "'" 
Set RS = Conn.Execute(SQL)
%>
<HR>
<FONT COLOR="#0000FF">查詢委托單結果:</FONT><br> 
<% 
IF RS.EOF THEN 
'找不到委托單 ! 
%>
<FONT COLOR="#FF0000">找不到委托單 !</FONT> 
<% ELSE %>
<% '有委托單 ! %>
<FONT COLOR="#0000ff">委托單如下:</FONT>
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1> 
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>帳號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>買賣</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>股票代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>價格</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>委托單代號</FONT></TD>
</TR> 
<% j = 1 %> 
<% Do While Not RS.EOF %>
<TR> 
<% For i = 0 to RS.Fields.Count - 1 %>
<% If INT(j/2)*2 <> j Then %>
<TD BGCOLOR="E8FFFF" ALIGN=CENTER>
<FONT COLOR="#000000"><%= RS(i) %></FONT></TD> 
<% Else %>
<TD ALIGN=CENTER BGCOLOR="#C0FFFF">
<FONT COLOR="#000000"><%= RS(i) %></FONT></TD>
<% END IF %> 
<% Next %>
</TR> 
<%
RS.MoveNext
j = j + 1
Loop
%>
</TABLE> 
<% END IF 
RS.Close
Conn.Close
End Sub %> 
<%
Sub CheckTrans()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT DATE,STOCK,TYPE,QTY,PRICE FROM Stock WHERE ID=" & Request.Form("ID3")
Set RS = Conn.Execute(SQL)
%>
<HR>
成交查詢結果:<br>
<% IF RS.EOF THEN %>
<FONT COLOR="#0000FF">報歉 , 帳號 <% =Request.Form("ID3") %> 未成交!</FONT>
<% ELSE %>
<FONT COLOR="#FF0000">
恭喜您, 帳號 <% =Request.Form("ID3") %> <BR>
有成交, 如下表:<BR>
</FONT>
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>日期</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>股票</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>買賣</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>成交數量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>成交價格</FONT></TD> 
</TR>
<% Do While Not RS.EOF %>
<TR>
<% For i = 0 to RS.Fields.Count - 1 %>
<TD BGCOLOR="f7efde" VALIGN=TOP><FONT COLOR="#0000"><% = RS(i) %></FONT></TD>
<% Next %>
</TR>
<%
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
</TABLE> 
<% END IF 
End Sub %> 
<HR>
股市買賣委托, 請輸入以下資料:<br>
<form action="data13.asp" method="post">
<FONT COLOR="#FF8080"> </FONT>帳號 (如123456): 
<INPUT TYPE=TEXT VALUE="123456" NAME="ID1" SIZE=10><BR>
<FONT COLOR="#FF8080"> </FONT>買賣:
<select name="TYPE1">
<OPTION SELECTED>買進
<OPTION>賣出
</select>
<br>
<FONT COLOR="#FF8080"> </FONT>股票代號 (如2306): 
<INPUT TYPE=TEXT VALUE="2306" NAME="STOCK1" SIZE=6><BR>
<FONT COLOR="#FF8080"> </FONT>數量: 
<INPUT TYPE=TEXT VALUE="10" NAME="QTY1" SIZE=6><BR>
<FONT COLOR="#FF8080"> </FONT>價格: 
<INPUT TYPE=TEXT VALUE="80" NAME="PRICE1" SIZE=6><BR> 
<INPUT TYPE=submit VALUE="委托下單" name="Action"><p> 
<HR WIDTH = 30% ALIGN=LEFT>
<FONT COLOR="#FF0000"> </FONT>委托單代號: 
<INPUT TYPE=TEXT NAME="SN1" SIZE=12>
<INPUT TYPE=submit VALUE="取消委托單" name="Action"><P> 
<FONT COLOR="#0000FF"> </FONT>帳號: 
<INPUT TYPE=TEXT VALUE="123456" NAME="ID2" SIZE=10>
<INPUT TYPE=submit VALUE="查詢委托單" name="Action"><P> 
<FONT COLOR="#00FF00"> </FONT>帳號: 
<INPUT TYPE=TEXT VALUE="123456" NAME="ID3" SIZE=10>
<INPUT TYPE=submit VALUE="成交查詢" name="Action">
</form> 
<HR> 
</BODY>
</HTML>


主站蜘蛛池模板: 日韩免费视频在线观看 | 五月婷婷激情网 | 又粗又大又长又爽免费视频 | 亚洲欧美日韩一区高清中文字幕 | 一级毛片成人免费看免费不卡 | 亚洲综合网在线观看 | 深夜免费在线观看 | 四虎影院永久免费观看 | 日本japanese丰满高清成人视 | 青青青国产 | 色91视频 | 香港三级理论在线影院 | 亚洲精品视频免费观看 | 天天色天天射天天操 | 欧美一区日韩精品 | 日产国产欧美韩国在线 | 三级免费黄色片 | 亚洲国产第一 | 一级毛片一片毛 | 亚洲91色| 亚洲国产成人在人网站天堂 | 日本污全彩肉肉无遮挡彩色 | 日本高清视频色wwwwww色 | 青草九九 | 四虎精品 | 日日夜夜骑 | 日韩一区二区视频在线观看 | 亚洲天堂免费 | 日本成人免费在线观看 | 日韩视频在线一区 | 日韩精品国产精品 | 日韩成人在线观看视频 | 三级黄色片在线播放 | 日本一区午夜爱爱 | 亚洲天堂免费观看 | 午夜黄网 | 亚洲第一欧美 | 天天狠狠色噜噜 | 伊人免费在线 | 在线污污视污免费 | 色花堂国产精品首页第一页 |