當前位置:編程學習大全網 - 源碼下載 - 基於web的醫療交換中心系統的源代碼

基於web的醫療交換中心系統的源代碼

醫院管理系統(HIS)應用設計

這裏我們介紹醫院管理系統HIS的應用設計,它包括醫院門診時間表線上查詢系統、線上醫院預約掛號系統等應用的點子、設計實例、以及詳細解說,讓您快速地設計出各種醫院的網站應用。

醫院網站資料庫應用

醫院使用網站資料庫,可以透過Internet、或Intranet提供以下的應用∶

* 線上查詢醫院門診時間表*

* 線上醫院預約掛號*

右上角標示*的應用,本節將提供設計的範例,並詳加解說。

執行本章資料庫的範例,所用的資料庫可為Microsoft Access、Microsoft SQL Server、或Text檔案(讀者可修改成其他支援ODBC的資料庫,詳見1-5節),須於NT安裝IIS 3.0,並於「控制臺」中的「ODBC」,新建壹個名稱為「BookSamp」的資料來源,驅動程式為「Microsoft Access Driver」、「SQL Server」、或「Microsoft Text 驅動程式」。詳見附錄 範例磁片。

1

醫院門診時間表線上查詢系統

「醫院門診時間表線上查詢系統」,可以透過Internet,查詢醫院門診時間表。

壹般的醫院,每月會提供壹張新的醫院門診時間表。看病的人可以透過Internet,連線上醫院的「醫院門診時間表線上查詢系統」,即可線上查詢新的醫院門診時間表。

設計實例

讓我們執行壹個實例。

( 範例 data7.asp 醫院門診時間表線上查詢

若要查詢門診時間表,於用戶端使用瀏覽器,瀏覽本書所附安裝於網站伺服器的data7.asp,即可顯示查詢的結果如下,包括科別、星期壹~星期六的門診醫師姓名∶

設計實例詳細解說

建立資料表

首先使用Microsoft Access、Microsoft SQL Server 、Text檔案、或任何壹種支援ODBC的資料庫,建立壹個資料表HospitalSchedule。

於欄名CLASS、A1~A6分別輸入科別、星期壹~星期六的門診醫師姓名。

使用Microsoft Access建立壹個資料表HospitalSchedule,如下∶

或使用Microsoft SQL Server建立壹個資料表HospitalSchedule,如下∶

或使用Text檔案建立壹個資料表HospitalSchedule,如下∶

查詢資料庫

接著,網站伺服器執行data7.asp檔案,使用「Server.CreateObject」建立連線的物件,並使用「Open」開啟待存取查詢資料庫BookSamp。

再使用SELECT的SQL指令查詢資料庫的資料,設定SQL指令,查詢HospitalSchedule的資料,下個「Execute」指令,即可開始執行存取查詢資料庫的動作,並將查詢結果儲存到RecordSets物件RS。

程式碼如下∶

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "BookSamp","sa",""

SQL = "SELECT * FROM HospitalSchedule"

Set RS = Conn.Execute(SQL)

接著,要顯示查詢的結果了。首先,由「 IF RS.EOF THEN ...」判斷是否找到HospitalSchedule的資料,若RS.EOF為TRUE,則顯示「本月無門診」。

程式碼,如下∶

查詢結果:<br>

<% IF RS.EOF THEN %>

<FONT COLOR="#FF0000">本月無門診</FONT>

若找到HospitalSchedule的資料,則顯示科別、星期壹~星期六的門診醫師姓名,分別由RecordSets物件的RS(0)、RS(1) ~RS(6) 取得。

RS.Fields.Count表示RecordSets物件的欄位數,由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各欄位的資料。配合<TABLE>表格的HTML語法,將結果填入表格的各欄位當中。

若還有下壹筆資料,使用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>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>星期六</FONT></TD>

</TR>

<% Do While Not RS.EOF %>

<TR>

<% For i = 0 to RS.Fields.Count - 1 %>

<% If LEFT(RS(i).Name,1) = "W" Then %>

<TD BGCOLOR="f7efde" ALIGN=CENTER>

<FONT COLOR="#0000"><%= RS(i) %></FONT></TD>

<% Else %>

<TD ALIGN=CENTER BGCOLOR="#800000">

<FONT><%= RS(i) %></FONT></TD>

<% END IF %>

<% 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>

<%

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "BookSamp","sa",""

SQL = "SELECT * FROM HospitalSchedule"

Set RS = Conn.Execute(SQL)

%>

<HR>

查詢結果:<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>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>星期六</FONT></TD>

</TR>

<% Do While Not RS.EOF %>

<TR>

<% For i = 0 to RS.Fields.Count - 1 %>

<% If LEFT(RS(i).Name,1) = "W" Then %>

<TD BGCOLOR="f7efde" ALIGN=CENTER>

<FONT COLOR="#0000"><%= RS(i) %></FONT></TD>

<% Else %>

<TD ALIGN=CENTER BGCOLOR="#800000">

<FONT><%= RS(i) %></FONT></TD>

<% END IF %>

<% Next %>

</TR>

<%

RS.MoveNext

Loop

RS.Close

Conn.Close

%>

</TABLE>

<% END IF %>

<HR>

</CENTER>

</BODY>

</HTML>

2

線上醫院預約掛號系統

「線上醫院預約掛號系統」,可以透過Internet,完成醫院預約掛號的手續。

壹般的醫院,提供排隊、人工接聽電話、或語音系統等多種預約掛號的方式。透過Internet,現在可以提供比較豐富、生動的預約掛號方式。

看病的人可以透過Internet,連線上醫院的「線上醫院預約掛號系統」,在電腦上輸入病歷號碼(或身分證號碼),再輸入要預約的科別、醫師、預約日期、和上下午夜間,即可完成預約掛號的手續。

掛號系統將告訴您掛幾號的看診順序,並自動統計每壹個門診的預約人數,若超過名額,將自動告之,要求預約其他的時間。

預約時,預約系統提供可以增加、取消、查詢預約的功能。

看病的人並可線上查詢醫院門診時間表、醫師簡介、用藥須知、健康新知、醫院活動、醫院地址等資訊。

掛號系統將自動印出所預約的每日掛號表,以供醫院相關部門準備病歷表。

設計實例

讓我們執行壹個實例。

( 範例 data12.asp 線上醫院預約掛號

若要線上預約醫院掛號,於用戶端使用瀏覽器,瀏覽本書所附安裝於網站伺服器的data12.asp,於「科別」處選擇科別如內科,於「病歷號碼」處輸入病歷號碼如123456後,於「看診日期」處輸入看診日期如870701後,按下「預約掛號」按鈕,即可顯示預約掛號的結果如下,包括病歷號碼、看診日期、科別、看診順序∶

預約醫院掛號時,若預約的診次已經預約過,則重覆預約相同的診次將顯示「已經預約掛號」如下∶

預約醫院掛號時,若超過診次的100個名額時,則顯示「預約掛號已滿」如下∶

取消預約掛號

預約醫院掛號後,可以取消所預約的掛號,於「選修課程」處選擇待取消選修課程如婚姻學,於「科別」處選擇科別如神經科,於「病歷號碼」處輸入病歷號碼如123456後,於「看診日期」處輸入看診日期如870701後,按下「取消預約掛號」按鈕,即可顯示取消預約掛號的結果如下∶

若待取消的診次尚未預約過,則取消預約掛號時顯示「尚未預約掛號」如下∶

查詢預約掛號

預約醫院掛號後,可以查詢所有預約的診次,僅須於「病歷號碼」處輸入病歷號碼如123456後,按下「查詢預約掛號」按鈕,即可顯示查詢預約掛號的結果如下∶

查詢預約掛號時,若尚未預約掛號,則查詢預約掛號時將顯示「尚未預約掛號」如下∶

門診時間表

按下「門診時間表」按鈕,即可顯示門診時間表如下∶

設計實例詳細解說

建立資料表

首先使用Microsoft Access、Microsoft SQL Server 、Text檔案、或任何壹種支援ODBC的資料庫,建立壹個資料表HospitalCount,儲存壹個診次的預約掛號人數、和最後看診順序。

這個資料表系供預約掛號和取消預約掛號時,記錄預約掛號人數、和最後看診順序號碼之用。建立欄位TOTAL、COUNT0、DATE0、CLASS,分別代表壹個診次的預約掛號人數、最後看診順序號碼、預約日期、科別名稱。建立資料表時不必輸入資料。

使用Microsoft Access建立壹個資料表HospitalCount,如下∶

或使用Microsoft SQL Server建立壹個資料表HospitalCount,如下∶

或使用Text檔案建立壹個資料表HospitalCount,如下∶

尚需要建立另壹個資料表HospitalReserve,儲存預約掛號的記錄,建立欄位ID、COUNT0、DATE0、CLASS,分別代表壹筆預約掛號記錄的病歷號碼、看診順序號碼、預約日期、科別名稱。

這個資料表系供預約掛號、查詢預約掛號、和取消預約掛號時,記錄預約診次、和看診順序之用。

建立資料表時不必輸入資料。

使用Microsoft Access建立壹個資料表HospitalReserve,如下∶

或使用Microsoft SQL Server建立壹個資料表HospitalReserve,如下∶

或使用Text檔案建立壹個資料表HospitalReserve,如下∶

設計輸入的表單

接著,設計輸入的表單form,當病患選擇科別CLASS1,輸入病歷號碼ID1,看診日期DATE1,按下「預約掛號」等按鈕submit時,即使用POST的方式將輸入資料傳送到網站伺服器,並執行於「form action=...」所設定的data12.asp檔案(與form為同壹個ASP檔案),程式碼如下∶

預約掛號, 請輸入以下資料 (初診者以身分證字號代替病歷號碼):<br>

<form action="data12.asp" method="post">

<FONT COLOR="#FF8080">■ </FONT>科別:

<select name="CLASS1">

<OPTION SELECTED>內科

<OPTION>神經科

<OPTION>小兒科

<OPTION>外科

<OPTION>婦產科

<OPTION>耳鼻喉科

<OPTION>眼科

<OPTION>皮膚科

</select>

<br>

<FONT COLOR="#FF8080">■ </FONT>病歷號碼 (如123456):

<INPUT TYPE=TEXT VALUE="123456" NAME="ID1" SIZE=10><BR>

<FONT COLOR="#FF8080">■ </FONT>看診日期 (如87年7月1日請輸入870701):

<INPUT TYPE=TEXT VALUE="870701" NAME="DATE1" SIZE=6><BR>

<INPUT TYPE=submit VALUE="預約掛號" name="Action">

<INPUT TYPE=submit VALUE="取消預約掛號" name="Action"><br>

<INPUT TYPE=submit VALUE="查詢預約掛號" name="Action"> 僅須填入病歷號碼<br>

</form>

<form>

<INPUT TYPE=button VALUE="門診時間表" OnClick="location.href='data7.asp'">

</form>

若按了「門診時間表」按鈕時,將執行data7.asp,以顯示門診時間表。

網站伺服器執行data12.asp檔案,首先經由Request.Form("Action")取得所按submit按鈕上的顯示文字VALUE,Left(Request.Form("Action"),2)系只取前兩個中文字,若Request.Form("Action")非空白時,表示為表單輸入所呼叫執行。

由「SELECT CASE Left(Request.Form("Action"),2) 」判斷是按了那個按鈕。若按鈕上前兩個字為「預約」時,則執行AddReserve() 副程式;若為「取消」時,則執行DeleteReserve() 副程式;若為「查詢」時,則執行CheckReserve() 副程式。

<%

SELECT CASE Left(Request.Form("Action"),2)

CASE "預約"

AddReserve()

CASE "取消"

DeleteReserve()

CASE "查詢"

CheckReserve()

END SELECT

%>

預約掛號

按了「預約掛號」按鈕時,將執行AddReserve() 副程式。

首先,使用「Server.CreateObject」建立連線的物件,並使用「Open」開啟待存取查詢資料庫BookSamp。

再尋找所待新增的預約掛號記錄,以檢查是否已經預約過,使用SELECT的SQL指令查詢資料庫的資料,於HospitalReserve資料表,設定SQL指令,查詢病歷號碼欄位ID符合所輸入Request.Form("ID1"),看診日期欄位DATE0符合所輸入Request.Form("DATE1"),和科別欄位CLASS符合所選擇Request.Form("CLASS1")的資料,下個「Execute」指令,即可開始執行存取查詢資料庫的動作,並將查詢結果儲存到RecordSets物件RS。

程式碼如下∶

Sub AddReserve()

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "BookSamp","sa",""

SQL = "SELECT * FROM HospitalReserve WHERE ID = '" & Request.Form("ID1") & "' AND DATE0 = '" & Request.Form("DATE1") & "' AND CLASS = '" & LEFT(Request.Form("CLASS1"),2) & "'"

Set RS = Conn.Execute(SQL)

接著,要顯示執行的結果了。

首先於HospitalReserve資料表,尋找預約掛號的記錄,由「IF RS.EOF THEN ...」判斷是否找到病歷號碼欄位ID符合所輸入Request.Form("ID1"),看診日期欄位DATE0符合所輸入Request.Form("DATE1"),和科別欄位CLASS符合所選擇Request.Form("CLASS1")的資料。

若RS.EOF為TRUE,表示尚未預約掛號,再尋找所待預約掛號的診次是否已經有人預約掛號過。於HospitalCount資料表,設定SQL指令,查詢看診日期欄位DATE0符合所輸入Request.Form("DATE1"),和科別欄位CLASS符合所選擇Request.Form("CLASS1")的資料。若RS.EOF為TRUE,表示此診次尚未有人預約掛號過,則於HospitalCount資料表,使用「INSERT INTO...」指令新增壹筆資料。此筆新增資料的預約掛號人數欄位TOTAL、和最後看診順序號碼欄位COUNT0都設定為1,科別欄位CLASS設定為Request.Form("CLASS1"),日期欄位DATE0設定為Request.Form("DATE1")。

然後再於HospitalReserve資料表,使用「INSERT INTO...」指令新增壹筆資料。此筆新增資料的看診順序號碼欄位COUNT0為1,病歷號碼欄位ID為Request.Form("ID1"),科別欄位CLASS設定為Request.Form("CLASS1"),日期欄位DATE0設定為Request.Form("DATE1")。

顯示執行的結果時,配合<TABLE>表格的HTML語法,將結果填入表格的各欄位當中。程式碼,如下∶

<FONT COLOR="#0000FF">預約掛號結果:</FONT><br>

<%

IF RS.EOF THEN

RS.Close

SQL = "SELECT * FROM HospitalCount WHERE DATE0 = '" & Request.Form("DATE1") & "' AND CLASS = '" & LEFT(Request.Form("CLASS1"),2) & "'"

Set RS = Conn.Execute(SQL)

IF RS.EOF THEN

'此科次尚未有人預約掛號 ! 於HospitalCount新增壹筆

SQL = "INSERT INTO HospitalCount(COUNT0, TOTAL, DATE0, CLASS) VALUES(1,1,'" & Request.Form("DATE1") & "','" & LEFT(Request.Form("CLASS1"),2) & "')"

Set RS = Conn.Execute(SQL)

'HospitalReserve新增壹筆

SQL = "INSERT INTO HospitalReserve(COUNT0, ID, DATE0, CLASS) VALUES(1,'" & Request.Form("ID1") & "','" & Request.Form("DATE1") & "','" & LEFT(Request.Form("CLASS1"),2) & "')"

Set RS = Conn.Execute(SQL)

%>

<FONT COLOR="#0000FF">預約掛號 OK ! 看診順序為第 1 號</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>

</TR>

<TR>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("ID1") %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("DATE1") %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("CLASS1"),2) %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000">1</FONT></TD>

</TR>

</TABLE>

若RS.EOF為FALSE,表示此診次已有人預約掛號。

由「IF RS(0) < 100 THEN...」判斷RS(0) 預約掛號人數TOTAL是否超過100個名額。

若未超過,則於HospitalCount資料表,使用「UPDATE...」指令,將此筆資料的預約掛號人數TOTAL、和最後看診順序號碼COUNT0都加壹。

然後,再於HospitalReserve資料表,使用「INSERT INTO...」指令新增壹筆資料。此筆新增資料的看診順序號碼欄位COUNT0為HospitalCount資料表的加壹後之COUNT0新值,病歷號碼欄位ID為Request.Form("ID1"),科別欄位CLASS設定為Request.Form("CLASS1"),日期欄位DATE0設定為Request.Form("DATE1")。

接著,顯示執行的結果時,配合<TABLE>表格的HTML語法,將於HospitalReserve資料表新增的資料,填入表格的各欄位當中顯示出來。

程式碼,如下∶

<% ELSE

IF RS(0) < 100 THEN

'此診次已有人預約掛號 ! HospitalCount的COUNT,TOTAL增壹

TotalNo = RS(0)+1

CountNo = RS(1)+1

SQL = "UPDATE HospitalCount SET TOTAL = " & TotalNo & ",COUNT0 = " & CountNo & " WHERE DATE0 = '" & Request.Form("DATE1") & "' AND CLASS = '" & LEFT(Request.Form("CLASS1"),2) & "'"

Set RS = Conn.Execute(SQL)

'HospitalReserve新增壹筆

SQL = "INSERT INTO HospitalReserve(COUNT0, ID, DATE0, CLASS) VALUES(" & CountNo & ",'" & Request.Form("ID1") & "','" & Request.Form("DATE1") & "','" & LEFT(Request.Form("CLASS1"),2) & "')"

Set RS = Conn.Execute(SQL)

%>

<FONT COLOR="#0000FF">預約掛號 OK ! 看診順序為第 <% =CountNo %> 號</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>

</TR>

<TR>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("ID1") %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("DATE1") %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("CLASS1"),2) %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =CountNo %></FONT></TD>

</TR>

</TABLE>

若此課程的預約掛號人數TOTAL超過100個名額,則顯示「預約掛號已滿 ! 請預約其他診次 !」。

接著,顯示執行的結果,配合<TABLE>表格的HTML語法,將病歷號碼和看診日期等資料,填入表格的各欄位當中顯示出來。

程式碼,如下∶

<% ELSE %>

<% '100預約掛號已滿 %>

<FONT COLOR="#FF0000">報歉 !</FONT><br>

<FONT COLOR="#FF0000">預約掛號已滿 ! 請預約其他診次 !</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>

</TR>

<TR>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("ID1") %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("DATE1") %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("CLASS1"),2) %></FONT></TD>

</TR>

</TABLE>

<% END IF %>

<% END IF %>

當於HospitalReserve資料表,由「IF RS.EOF THEN ...」判斷是否已經預約掛號時,若RS.EOF為FALSE,表示此診次已經預約掛號過,則顯示「報歉! 已經預約掛號! 看診順序為第...號」。

接著,顯示執行的結果,配合<TABLE>表格的HTML語法,將病歷號碼、看診日期、和看診順序等資料,填入表格的各欄位當中顯示出來。

程式碼,如下∶

<% ELSE %>

<% '已經預約掛號 %>

<FONT COLOR="#FF0000">報歉 !</FONT><br>

<FONT COLOR="#FF0000">已經預約掛號 !</FONT> 看診順序為第 <% =RS(1) %> 號</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>

</TR>

<TR>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("ID1") %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("DATE1") %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("CLASS1"),2) %></FONT></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(1) %></FONT></TD>

</TR>

</TABLE>

<% END IF

Conn.Close

End Sub %>

最後,使用Conn.Close關閉資料庫。

取消預約掛號

按了「取消預約掛號」按鈕時,將執行DeleteReserve() 副程式。

首先,先尋找到所待取消的預約掛號記錄,使用「Server.CreateObject」建立連線的物件,並使用「Open」開啟待存取查詢資料庫BookSamp。

再使用SELECT的SQL指令查詢資料庫的資料,於HospitalReserve資料表,設定SQL指令,查詢病歷號碼欄位ID符合所輸入Request.Form("ID1"),查詢看診日期欄位DATE0符合所輸入Request.Form("DATE1"),和科別欄位CLASS符合所選擇Request.Form("CLASS1")的資料,,下個「Execute」指令,即可開始執行存取查詢資料庫的動作,並將查詢結果儲存到RecordSets物件RS。

由「IF RS.EOF THEN ...」判斷是否找到所待取消的預約掛號記錄,若RS.EOF為TRUE,表示此診次尚未預約掛號,則顯示「找不到 ! 尚未預約掛號 !」。

程式碼如下∶

<%

Sub DeleteReserve()

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "BookSamp","sa",""

SQL = "SELECT * FROM HospitalReserve WHERE ID = '" & Request.Form("ID1") & "' AND DATE0 = '" & Request.Form("DATE1") & "' AND CLASS = '" & LEFT(Request.Form("CLASS1"),2) & "'"

Set RS = Conn.Execute(SQL)

%>

<HR>

<FONT COLOR="#0000FF">取消預約掛號結果:</FONT><br>

<%

IF RS.EOF THEN

'找不到 ! 尚未預約掛號 !

%>

<FONT COLOR="#FF0000">找不到 ! 尚未預約掛號 !</FONT>

若找到所待取消的預約掛號記錄,則於HospitalReserve資料表,使用「DELETE FROM...」指令刪除此筆資料。

然後,再於HospitalCount資料表,使用「UPDATE...」指令,將此筆課程的預約掛號人數TOTAL減壹。

接著,顯示執行的結果,配合<TABLE>表格的HTML語法,將於HospitalReserve資料表刪除的資料,填入表格的各欄位當中,以顯示出來。

程式碼,如下∶

<% ELSE

'取消預約掛號 !

'HospitalReserve刪除壹筆

SQL = "DELETE FROM HospitalReserve WHERE ID = '" & Request.Form("ID1") & "' AND DATE0 = '" & Request.Form("DATE1") & "' AND CLASS = '" & LEFT(Request.Form("CLASS1"),2) & "'"

Set RS = Conn.Execute(SQL)

'HospitalCount的TOTAL減壹

'RS.Close

SQL = "SELECT * FROM HospitalCount WHERE DATE0 = '" & Request.Form("DATE1") & "' AND CLASS = '" & LEFT(Request.Form("CLASS1"),2) & "'"

Set RS = Conn.Execute(SQL)

IF RS.EOF THEN

%>

<FONT COLOR="#FF0000">找不到預約掛號資料 !</FONT>

<%

ELSE

TotalNo = RS(0)-1

SQL = "UPDATE HospitalCount SET TOTAL = " & TotalNo & " WHERE DATE0 = '" & Request.Form("DATE1") & "' AND CLASS = '" & LEFT(Request.Form("CLASS1"),2) & "'"

Set RS = Conn.Execute(SQL)

%>

<FONT COLOR="#FF0000">預約掛號已經取消 !</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>

</TR>

<TR>

<TD BGCOLOR="f7efde" ALIGN

  • 上一篇:冀州中學老學區和新學區有什麽區別·
  • 下一篇:原碼反碼補碼是什麽意思
  • copyright 2024編程學習大全網