<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

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

      股票網站方案設計

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


      日韩精品一区二区三区高清