預約系統源碼
⑴ 家政小程序源碼,家政預約服務小程序開發哪家好
方派哪式一,「一鍵生成」的套模板小程序,價格比較低,一般幾千元
優點是:功能簡單,容易操作,開發時間短,能夠快速上線
缺點是:功能一般無法修改,這種模板小程序是按年租用給你,並不是屬於你的。
方式二,購買源碼,價格中等,一般1-3萬左右
優點是:永久擁有自己的小程序,無需按年繳費;可以做無數個小程序,不用再付費。
缺點是:不一定能夠買到符合自己供需求的源碼
方式三,定製開發,價格比較高,一般3萬到10萬+
優點是:永久擁有自己獨立且獨一無二的小程序,而且小程序是按照個性化需求定製開發的,用戶體驗更加好。
缺點是:成本相對比較高,基本費用在3萬元到10萬不等
其實價格只是一方面,找一家靠譜的開發公司也是非常重要的。一、微信小程序開發之前必須要完成和注冊認證,申請小程序費用為300元,如果有已經認證過的公眾號就可以免費申請。
二、小程序開發:分為兩種情況
第一種自己開發,費用的話就是自己技術的工資、績效和伺服器。
第二種找第三方開發公司,這里分為兩種情況:
第1種是賣模板為主的網路公司。
優點是:價格低,幾千塊錢到萬元之間就能搞定,方便,能夠快速上線;
缺點是:修改功能麻煩,這里需要避免低價陷阱,不要到最後才發現模板性的修改功能所花的錢比買模板還貴。
第2種是定製開發為主的網路公司。?
優點是:專為你的企業或者店面定製的,功能你來定,要求你來定,後期修改bug方便,改東西也很方便。
缺點是:相對價格比較高!定製版的基本費用在上萬元到十幾萬不等!不過貴也有貴的道理吧,畢竟功能做的更全面一點。
最後總結,至於找什麼樣的小程序開發公司?花多少錢來開發?還是需要看貴公司准備的預算這塊!推薦了解一下企維度小程序,價格適中,功能齊全。做一個商城小程序需要橘羨歷多少錢?這個很難給你一個統一的標准答案,主要還是要根據小程序商城的具體需求而定。根據我們接觸到的小程序商城用戶需求,大致可以分為兩類:商家自用小程序商城和多用戶入駐小程序商城這兩種類型。
(一)商家自用小程序商城類型
這種類型,一般都是線下有門店實體店,想通過線上商城小程序平台將商品賣給消費者,無縫對接線上線下渠道。
(二)多用戶入駐小程序商城類型
這種多用戶入駐小程序,不太建議新手做,為什麼呢?因為商家之所以會入駐您的平台,其本質是為了您能夠幫助她賣點產品,對於新手或普通商家來說的話,做這樣的平台需要投入大量成本做引流,可能引流成本遠遠高於您收取商家的入駐扣點費用。當然,如果你有更好的運營模式,你可以嘗試一下。
這種模式開發的費用要比第一種模式費用要高些,一般這種開發費用幾萬到幾十萬不等,具體的報價還是根據您的功能需求而定。
以上就是對小程序商城價格多少錢具體分析,希望以上內容對大家有所幫助!商城小程序具體需要多少錢,得根據你的需求來定,比如你要實現哪些功能?需要多少個頁面?模板開發還是定製開發?
所以,方便把你的需求詳細的說一下嗎,這樣我才能幫你估算一下價格,或者直接幫你做出來。為APP和公眾號的有效補充,小程序以更流暢的體驗與更多元的曝光,在商業服務、電商、餐飲等領域有明顯的流量紅利。然而,普通小程序並不能滿足營銷的需求,線上線下深度融合仍是營銷數字化升級的方向。
至於小程序商城需要多少錢,主要是根據你的需求去決定的:
你是什麼行業的?
你需要什麼哪些功能?
你用小程序商城來做什麼?
你需要他偏展示還是偏銷售?
這個小程序商城在你公司發展的戰略布局重要嗎?
這些問題下來,你大概就知道這個小程序商城在你的公司發展當中占據什麼地位了,是僅僅多一個銷售宣傳渠道,還是准備在微信幾億用戶當中分一杯羹。小程序商城高則上萬,低則幾千。
以上兩種方法對於普通的商家或多或少有些不足的地方,成本和後期維護還有開發周期使得普通商家很難圓搜使用這種方法;對於商家來說一個拿來就能用的小程序商城好像要更好一些。這樣,租用已經成熟的系統也是一種方法。市面上的微商城,小程序商城系統幾千到幾萬一年不等。
不同的系統實際下來價格和功能都會有所不同,可以選擇當下最適合自己的一種。
⑵ 適合醫療行業的微信公眾號預約掛號系統源碼求介紹好用些的
覺得想做生活服務的話不如去微信城市服務裡面申請,只要當地還沒有的版塊都可以申請,微信的客戶群肯定是要比其他的多的,而且微信城市服務就是功能都在一起 這樣給別人感覺就是省事 以前需要辦什麼就要下載一個app 這樣就很煩 現在微信裡面直接就能處理了 誰還會下載app
⑶ C語言程序設計的圖書管理系統
我們也開始做課程設計了呢~~~ 這是我同學做的:
#include
#include
#include
struct BOOK
{
int id,usr[10],total,store,days[10];
char name[31],author[21];
}books[100];
/*上面是結構體的定義,用於存放書籍及借書的信息。*/
void page_title(char *menu_item)
{
clrscr();
printf(">>> 圖 書 管 理 系 統 <<<\n\n- %s -\n\n",menu_item);
}
/*上面是列印頁眉的函數,同時通過參數menu_item,可以顯示當前的狀態。*/
void return_confirm(void)
{
printf("\n按任意鍵返回……\n");
getch();
}
/*上面是返回前請求確認的函數,以便在返回前觀察結果*/
int search_book(void)
{
int n,i;
printf("請輸入圖書序號:");
scanf("%d",&i);
for(n=0;n<100;n++)
{
if(books[n].id==i)
{
printf("書名:%s\n",books[n].name);
printf("作者:%s\n",books[n].author);
printf("存數:%d of ",books[n].store);
printf("%d\n",books[n].total);
return n;
}
}
printf("\n輸入錯誤或無效圖書序號.\n");
return -1;
}
/*上面的函數是在數組中找到圖書號匹配的記錄,顯示其信息並返
回數組下標,如果找不到相應記錄則提示錯誤並返回-1。*/
void book_out(void)
{
int n,s,l,d;
page_title("借閱圖書");
if((n=search_book())!=-1&&books[n].store>0)
{
printf("請輸入借書證序號:");
scanf("%d",&s);
printf("請輸入可借天數:");
scanf("%d",&d);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==0)
{
books[n].usr[l]=s;
books[n].days[l]=d;
break;
}
}
books[n].store--;
}
if(n!=-1&&books[n].store==0) printf("此書已經全部借出.\n");
return_confirm();
}
/*上面是借書的函數,首先調用找書函數*/
void book_in(void)
{
int n,s,l;
page_title("歸還圖書");
if((n=search_book())!=-1&&books[n].store<books[n].total)
{
printf("借閱者圖書證列表:\n");
for(l=0;l<10;l++)
if (books[n].usr[l]!=0)
printf("[%d] - %d天\n",books[n].usr[l],books[n].days[l]);
printf("請輸入借書證序號:");
scanf("%d",&s);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==s)
{
books[n].usr[l]=0;
books[n].days[l]=0;
break;
}
}
books[n].store++;
}
if(n!=-1&&books[n].store==books[n].total)
printf("全部入藏.\n");
return_confirm();
}
void book_add(void)
{
int n;
page_title("注冊新書");
for(n=0;n<100;n++)
if(books[n].id==0) break;
printf("序號:");
scanf("%d",&books[n].id);
printf("書名:");
scanf("%s",&books[n].name);
printf("作者:");
scanf("%s",&books[n].author);
printf("數量:");
scanf("%d",&books[n].total);
books[n].store=books[n].total;
return_confirm();
}
void book_del(void)
{
int n;
page_title("注銷舊書");
if((n=search_book())!=-1) books[n].id=0;
printf("該書已注銷.\n");
return_confirm();
}
void main(void)
{
menu: page_title("操作選單");
printf("請用數字鍵選擇操作\n\n");
printf("1 借閱圖書\n2 歸還圖書\n\n");
printf("3 注冊新書\n4 注銷舊書\n\n");
printf("\n0 退出\n");
switch(getch())
{
case '1' : book_out();break;
case '2' : book_in();break;
case '3' : book_add();break;
case '4' : book_del();break;
case '0' : exit(0);
}
goto menu;
}
{
int n;
page_title("廣?症慕");
if((n=search_book())!=-1) books[n].id=0;
printf("乎慕廝廣?.\n");
return_confirm();
}
void main(void)
{
menu: page_title("荷恬僉汽");
printf("萩喘方忖囚僉夲荷恬\n\n");
printf("1 処堋夕慕\n2 拷珊夕慕\n\n");
printf("3 廣過仟慕\n4 廣?症慕\n\n");
printf("\n0 曜竃\n");
switch(getch())
{
case '1' : book_out();break;
case '2' : book_in();break;
case '3' : book_add();break;
case '4' : book_del();break;
case '0' : exit(0);
}
goto menu;
}
⑷ 求一個基於Java編寫的醫院預約系統源碼
摘 要
進入21世紀以來,網路的空前發展給人們的工作和生活帶來了極大的便利,信息化建設已經成為節約運營成本、提高工作效率的首選。相比之下,國內相當數量的中小醫院的醫院預約掛號工作還採用相對保守的手工工作方式,數據信息查詢和存儲的成本較高,但效率卻很低下。為了使醫院預約掛號管理更高效、更科學,決定開發醫院預約掛號平台。
本文採用結構化分析的方法,詳細闡述了一個功能比較強大的醫院預約掛號平台的前後台開發、操作流程和涉及的一些關鍵技術。首先進行了可行性分析,然後是系統分析,通過實際的業務流程調研,分析業務流程和系統的組織結構,完成了數據流分析和數據字典;然後是系統設計階段主要完成了功能模塊的劃分、闡述了系統設計的思想、資料庫的設計和系統設計的工具及技術。該階段對本系統各個模塊的功能進行了詳細設計,形成了本系統的功能模塊圖;資料庫設計時先進行了概念結構設計,然後進行了邏輯結構設計,最後完成了數據表的設計。
根據前幾個階段的分析和設計,本系統在設計方面採用B/S模式,同時使用JSP技術進行基本頁面的設計與功能實現,後台資料庫選用SQL Server 2000資料庫。本系統的設計實施為醫院預約掛號系統的運行做基礎,為醫院預約掛號管理工作提供良好的條件。
關鍵詞:預約掛號;結構化分析;平台
Abstract
In the 21st century, the unprecedented development of the network to the people's work and life has brought great convenience, information technology has become operational cost savings, improve efficiency of choice. In contrast, a considerable number of domestic small and medium hospitals, hospital appointment registration work is relatively conservative with manual work, data query and the high cost of storage, but the efficiency is very low. To make an appointment by registered hospital management more efficient, more science, decided to develop the hospital appointment registration platform.
In this paper, structural analysis, a function described in detail more powerful platform for the hospital before and after the appointment register sets and development, operational processes, and some of the key technologies involved. First, a feasibility analysis, and system analysis, business process through the actual research, analyze business processes and organizational structure of the system to complete the data flow analysis and data dictionary; then completed the system design phase is mainly divided into functional moles, elaborated the idea of the system design, database design and system design tools and techniques. This phase of the system function of each mole in detail the design, forming a functional block diagram of the system; database design first tested the concept design, followed by a logic design, and finally completed the data table design.
According to the first few stages of the analysis and design, the system used in the design of B / S mode, JSP technology, the basic page design and implementation of function, use SQL Server 2000 database backend database. Implementation of the system design registration system for the operation of the hospital appointment as a foundation for the hospital management to provide a good appointment registration conditions.
Key Words:Appointment registration; structural analysis; platform
目 錄
摘 要... I
Abstract II
一、引言... 1
(一)項目開發的背景... 1
(二)項目開發的目的... 1
二、可行性分析及總體設計原則... 2
(一)可行性分析... 2
1.技術可行性... 2
2.經濟可行性... 2
3.社會可行性... 3
(二)總體設計原則... 3
三、系統分析... 5
(一)業務流程分析... 5
(二)數據流圖... 6
(三)數據字典... 9
四、系統設計... 13
(一)系統功能設計... 13
(二)系統資料庫設計... 14
1.概念結構設計... 14
2.邏輯結構設計... 18
3.資料庫表設計... 18
(三)系統開發工具與開發模式的選擇... 20
1.系統開發工具... 20
2.系統設計模式... 21
五、系統實現... 22
(一)用戶模塊... 22
1.登錄及注冊管理模塊... 22
2.首界面... 23
3.用戶注冊界面... 24
4.公告界面... 25
5.科室預約界面... 26
6.留言界面... 27
(三)管理員模塊... 28
1.登錄界面... 28
2.科室管理界面... 28
3.添加專家界面... 29
六、性能測試與分析... 30
(一)測試的重要性... 30
(二)測試實例的研究與選擇... 30
(三)測試環境與測試條件... 31
(四)實例測試... 32
(五)系統評價... 32
(六)測試結果... 33
參 考 文 獻... 35
致 謝... 36
⑸ 微信小程序開發,預約系統哪家好
微信小程序的預約系統很多,具體要根據自己的需求情況而確定,小程序是一個很好的工具,大家可以選擇定製開發或者模板的形式的工具。
第1種是賣模板為主的網路公司。
優點是:價格低,幾千塊錢到萬元之間就能搞定,方便,能夠快速上線,微塵小程序就可以實現。
缺點是:修改功能麻煩,這里需要避免低價陷阱,不要到最後才發現模板性的修改功能所花的錢比買模板還貴。而且不是獨立的,一個模本賣給很多商家用,模板不是永久使用的,一般每年都要交年費。
第2種是主流的方式,定製開發為主的網路公司。
優點是:獨一無二的,專為你的企業或者店面定製的,功能你來定,要求你來定,後期修改BUG方便,改東西也很方便,最重要的是永久使用權!!
缺點是:相對價格比較高!!! 定製版的基本費用在上萬元到十幾萬不等!不過貴也有貴的道理吧,畢竟功能做的更全面一點。
最後總結,至於找什麼樣的小程序開發公司?花多少錢來開發?還是需要看貴公司准備的預算這塊!希望對大家有用!
⑹ 求網約專車系統源碼
如何編寫出好的網約專車系統源碼呢?這里分享下迪蒙網約專車系統關於編寫系統源碼的相關經驗:
1、學習經驗:因為網約車系統最近流行起來,經驗不怎麼豐富,故而在編寫網約車系統源碼之前可以先去取取經,多了解相關知識社區,學習一下他們的開發經驗。
2、收取資料:學習了經驗之後,也不要立即編寫系統源碼,我們還要收取一下資料,例如網約車系統應該包含什麼樣的功能,如何開發出適合行業使用的網約車平台等等。
3、進行研討:學習了經驗,收取完資料,就需要研討,確定開發方案,著手准備開發。
4、嘗試開發:把各項准備工作做好之後,就要開始嘗試開發系統,編寫系統源碼。
5、修改確定:第一次嘗試開發肯定有不盡如意的地方,還需要修改,直至最後編寫出比較好的,比較滿意的系統源碼。
除此之外,網約車系統源碼在編寫時要細心、創新,編寫出最好的眾籌系統源碼,提交滿意的答卷。
⑺ 基於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的資料庫,建立一個資料表HospitalSchele。
於欄名CLASS、A1~A6分別輸入科別、星期一~星期六的門診醫師姓名。
使用Microsoft Access建立一個資料表HospitalSchele,如下∶
或使用Microsoft SQL Server建立一個資料表HospitalSchele,如下∶
或使用Text檔案建立一個資料表HospitalSchele,如下∶
查詢資料庫
接著,網站伺服器執行data7.asp檔案,使用「Server.CreateObject」建立連線的物件,並使用「Open」開啟待存取查詢資料庫BookSamp。
再使用SELECT的SQL指令查詢資料庫的資料,設定SQL指令,查詢HospitalSchele的資料,下個「Execute」指令,即可開始執行存取查詢資料庫的動作,並將查詢結果儲存到RecordSets物件RS。
程式碼如下∶
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT * FROM HospitalSchele"
Set RS = Conn.Execute(SQL)
接著,要顯示查詢的結果了。首先,由「 IF RS.EOF THEN ...」判斷是否找到HospitalSchele的資料,若RS.EOF為TRUE,則顯示「本月無門診」。
程式碼,如下∶
查詢結果:<br>
<% IF RS.EOF THEN %>
<FONT COLOR="#FF0000">本月無門診</FONT>
若找到HospitalSchele的資料,則顯示科別、星期一~星期六的門診醫師姓名,分別由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 HospitalSchele"
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