羽毛球會(huì)員管理系統(tǒng)課件_第1頁(yè)
羽毛球會(huì)員管理系統(tǒng)課件_第2頁(yè)
羽毛球會(huì)員管理系統(tǒng)課件_第3頁(yè)
羽毛球會(huì)員管理系統(tǒng)課件_第4頁(yè)
羽毛球會(huì)員管理系統(tǒng)課件_第5頁(yè)
已閱讀5頁(yè),還剩141頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、中南大學(xué)數(shù)據(jù)庫(kù)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告專(zhuān)業(yè)班級(jí):電氣1101班姓名:伍珣 學(xué)號(hào):0909110106 指導(dǎo)老師:安劍奇 目錄項(xiàng)目背景1.需求分析2.系統(tǒng)功能2.1租借管理2.2借出記錄2.3會(huì)員信息管理2.4會(huì)員充值2.5通知公告2.6帳號(hào)管理2.7高級(jí)權(quán)限3. 羽毛球會(huì)員管理系統(tǒng)數(shù)據(jù)分析3.1羽毛球會(huì)員管理系統(tǒng)E-R圖3.2數(shù)據(jù)表的結(jié)構(gòu)3.3 CHECK約束3.4存儲(chǔ)過(guò)程4.系統(tǒng)設(shè)計(jì)4.1 主界面4.2租借管理4.3會(huì)員信息管理4.4會(huì)員充值4.5通知公告4.6帳號(hào)管理4.7高級(jí)權(quán)限5.心得體驗(yàn)附:源代碼羽毛球會(huì)員管理系統(tǒng)項(xiàng)目背景計(jì)算機(jī)已經(jīng)成為生活中不可缺少的重要工具,有些事情可以通過(guò)計(jì)算機(jī)來(lái)完成,

2、提高辦事效率。目前,羽毛球是最受人們歡迎的運(yùn)動(dòng)之一。隨著人們生活水平的提高,越來(lái)越多的人開(kāi)始去球館打球,許多羽毛球館擁有自己的客戶。為了方便管理客戶以及球館場(chǎng)地和球拍的租借,開(kāi)發(fā)了羽毛球管理系統(tǒng)為整個(gè)球館的管理帶來(lái)便利。1.需求分析首先概括一下這個(gè)項(xiàng)目的基本要求。總體上: 需要一個(gè)軟件應(yīng)用系統(tǒng),這個(gè)產(chǎn)品可以幫助球館管理人員管理會(huì)員信息,球場(chǎng)信息,球拍信息,球場(chǎng)和球拍的租借信息等所有工作。 所有的數(shù)據(jù)需要通過(guò)一種主流的方式進(jìn)行存儲(chǔ)和管理,如使用數(shù)據(jù)庫(kù)技術(shù)。對(duì)于會(huì)員而言: 查看、修改個(gè)人資料。 查詢(xún)個(gè)人租借記錄。 修改帳號(hào)密碼。 查看球館通知、賽事。對(duì)于普通球場(chǎng)管理員而言: 對(duì)球館進(jìn)行租借管理,包

3、括租借球拍、球場(chǎng)。 查詢(xún)所有租借記錄。 對(duì)會(huì)員信息進(jìn)行管理,包括查看及修改會(huì)員的基本信息。 對(duì)會(huì)員帳戶金額進(jìn)行管理,包括充值及查詢(xún)余額。 編輯、查看通知,會(huì)員登錄后可以查看。 對(duì)會(huì)員帳號(hào)進(jìn)行管理,包括查看帳號(hào)、添加會(huì)員、修改密碼以及刪除會(huì)員。對(duì)高級(jí)球場(chǎng)管理員而言: 提供一個(gè)功能全面的會(huì)員管理平臺(tái)。 在高級(jí)權(quán)限中,高級(jí)管理員可以按實(shí)際需求增刪球場(chǎng)或球拍、設(shè)置租金。2.系統(tǒng)功能根據(jù)以上對(duì)羽毛球會(huì)員管理系統(tǒng)的分析,一個(gè)標(biāo)準(zhǔn)的羽毛球會(huì)員管理系統(tǒng)應(yīng)該包括以下功能:2.1租借管理租借管理用于會(huì)員在球館租借球場(chǎng)和球拍時(shí)用。包含的功能如圖所示。租借分為球場(chǎng)租借和球拍租借。租借時(shí)首先檢索空閑球場(chǎng)(球拍),在表格

4、中點(diǎn)擊以選擇要租借的球場(chǎng)(球拍),輸入租借人的帳號(hào)并選擇租借時(shí)間,租金根據(jù)所選球場(chǎng)(球拍)的租金以及租借時(shí)間不同而不同,最后按“租借”鍵確認(rèn)租借。已經(jīng)租借的球場(chǎng)(球拍)在租借時(shí)段內(nèi)不能再次被租借。當(dāng)達(dá)到租借時(shí)間時(shí),系統(tǒng)會(huì)自動(dòng)彈出消息提示相應(yīng)的租借信息。租借管理消息提示(為了方便,此處設(shè)置0.5小時(shí)租借時(shí)長(zhǎng)為一分鐘,租金為5元)2.2借出記錄借出記錄用于查看會(huì)員租借球場(chǎng)和球拍的信息。記錄中包括租借時(shí)刻、場(chǎng)地(球拍)號(hào)、帳號(hào)、返還時(shí)間和所需租金。借出記錄2.3會(huì)員信息管理會(huì)員信息管理用于查看和修改會(huì)員的基本信息。包含的功能如圖所示。“查看會(huì)員信息”用于查看會(huì)員帳號(hào)、姓名、性別、年齡、聯(lián)系電話、聯(lián)系

5、地址、帳戶余額以及身份證號(hào)。其中“選擇查看”可以查找指定帳號(hào)的信息,“所有查看”中可以對(duì)數(shù)據(jù)按帳號(hào)、姓名、年齡、帳戶余額排序查看?!靶薷臅?huì)員信息”用于修改選定帳號(hào)的基本信息。修改前需要檢索要修改的帳號(hào),檢索成功后點(diǎn)擊數(shù)據(jù)所在列獲取帳號(hào)信息至“操作”框中,在“操作”框中修改數(shù)據(jù)后按“提交”鍵保存修改。當(dāng)需要修改該帳號(hào)所有信息時(shí)可以按“全部清空”將獲取的所有信息從“操作”框中刪除。查看會(huì)員信息修改會(huì)員信息2.4會(huì)員充值“會(huì)員充值”可以查詢(xún)余額和進(jìn)行充值?!安樵?xún)余額”可以查看會(huì)員當(dāng)前時(shí)刻所剩金額,由于涉及個(gè)人隱私問(wèn)題,需要輸入所查詢(xún)帳號(hào)的密碼,當(dāng)會(huì)員余額不足以租借球場(chǎng)(球拍)時(shí),可以在充值界面進(jìn)行充

6、值。充值2.5通知公告“通知公告”用于管理員發(fā)布,會(huì)員查看通知和賽事?!熬庉嬐ㄖ睘楣芾韱T功能,分為編輯通知公告和編輯熱點(diǎn)賽事。編輯前需選定類(lèi)型并點(diǎn)擊“編輯”方可輸入文字,編輯完成后點(diǎn)擊“提交”發(fā)布通知。 “查看通知”用于查看發(fā)布的通知、賽事等信息?!扒袚Q”鍵可以返回初始界面。編輯通知查看通知2.6帳號(hào)管理帳號(hào)管理用于查看、添加、修改和刪除會(huì)員的帳號(hào)信息。包含的功能如圖所示。“查看帳號(hào)”用于管理員查看帳號(hào)信息,分為查看會(huì)員帳號(hào)、查看管理員帳號(hào)和查看所有。普通管理員只能查看帳號(hào)的身份信息及注冊(cè)時(shí)間,高級(jí)管理員還可以查看所有帳號(hào)的密碼?!疤砑訋ぬ?hào)”用于添加管理員(高級(jí)管理員權(quán)限)和會(huì)員。添加帳號(hào)時(shí)

7、先選定帳號(hào)類(lèi)型,添加會(huì)員需要填寫(xiě)帳號(hào)密碼、會(huì)員姓名、性別、年齡、聯(lián)系方式、聯(lián)系地址以及身份證號(hào),添加管理員只需填寫(xiě)密碼即可。信息填寫(xiě)完整后按“立即注冊(cè)”提交?!靶薷拿艽a”用于管理員跟會(huì)員修改帳號(hào)密碼。修改密碼時(shí)需要輸入當(dāng)前密碼保證帳號(hào)安全,輸入驗(yàn)證碼防止程序自動(dòng)篡改密碼。高級(jí)管理員可以修改所有用戶的密碼,普通管理員只能修改所有會(huì)員的密碼,會(huì)員只能修改自己的密碼?!皠h除帳號(hào)”用于刪除管理員和會(huì)員。刪除帳號(hào)需要輸入當(dāng)前密碼保證帳號(hào)安全,輸入驗(yàn)證碼防止程序自行刪除造成數(shù)據(jù)丟失。高級(jí)管理員可以刪除所有用戶,普通管理員只能刪除所有會(huì)員。查看帳號(hào)(高級(jí)管理員)查看帳號(hào)(普通管理員)注冊(cè)帳號(hào)修改密碼刪除帳號(hào)

8、2.7高級(jí)權(quán)限“高級(jí)權(quán)限”屬于高級(jí)管理員權(quán)限。用于增刪物資和其他設(shè)置。包含的功能如圖所示。“增刪物資”用于增刪球拍和球場(chǎng),高級(jí)管理員在此添加新物資時(shí)需要填寫(xiě)物品編號(hào),租金(以及物品名稱(chēng))。系統(tǒng)將提交后的數(shù)據(jù)以及物品的添加時(shí)間一同保存至數(shù)據(jù)庫(kù)中,供以后租借用。當(dāng)需要移除球拍或球場(chǎng)時(shí),可以輸入現(xiàn)有的編號(hào)進(jìn)行移除,也可以在檢索結(jié)果中選定某個(gè)球拍或球場(chǎng)進(jìn)行移除,如果該球拍或球場(chǎng)正在使用中,則不可移除?!霸O(shè)置租金”用于高級(jí)管理員設(shè)置球拍和球場(chǎng)的租金。設(shè)置租金時(shí),首先檢索需要設(shè)置的編號(hào),檢索成功后選擇編號(hào),在“設(shè)置租金”一欄輸入租金,按“提交鍵”保存,注意租金必須大于零,否則不能提交。增刪物資設(shè)置租金3.

9、羽毛球會(huì)員管理系統(tǒng)數(shù)據(jù)分析根據(jù)以上需求分析,一個(gè)基本的羽毛球會(huì)員管理系統(tǒng)數(shù)據(jù)庫(kù)中大致包括7張數(shù)據(jù)表,分別存放相應(yīng)子功能的數(shù)據(jù)信息。3.1羽毛球會(huì)員管理系統(tǒng)E-R圖根據(jù)上面的設(shè)計(jì),規(guī)劃出的實(shí)體有用戶實(shí)體,會(huì)員信息實(shí)體,場(chǎng)地實(shí)體,球拍實(shí)體,場(chǎng)地租借實(shí)體,球拍租借實(shí)體和通知實(shí)體。整個(gè)羽毛球管理系統(tǒng)的E-R圖如圖所示。3.2數(shù)據(jù)表的結(jié)構(gòu)3.2.1用戶表用戶表用于保存所有用戶的帳號(hào)信息,表結(jié)構(gòu)如圖所示。字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述帳號(hào)int是用戶用于登錄的帳號(hào)密碼varchar20帳號(hào)密碼身份varchar10身份用于限制權(quán)限注冊(cè)時(shí)間datetime記錄帳號(hào)注冊(cè)時(shí)間3.2.2會(huì)員信息表會(huì)員信息表用于保存

10、會(huì)員的基本信息,表結(jié)構(gòu)如圖所示。字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述帳號(hào)int是用戶表對(duì)應(yīng)的帳號(hào)姓名varchar15性別varchar2年齡int聯(lián)系電話varchar20聯(lián)系地址varchar50會(huì)員等級(jí)varchar10會(huì)員等級(jí)決定花費(fèi)時(shí)的折扣帳戶余額money身份證號(hào)varchar183.2.3場(chǎng)地表場(chǎng)地表用于保存會(huì)員的基本信息,表結(jié)構(gòu)如圖所示。字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述場(chǎng)地號(hào)int是每個(gè)場(chǎng)地都有一個(gè)唯一的場(chǎng)地號(hào)租金money每小時(shí)租金所需人民幣狀態(tài)varchar6記錄場(chǎng)地當(dāng)前的使用狀況日期datetime記錄場(chǎng)地添加時(shí)間3.2.4球拍表球拍表用于保存會(huì)員的基本信息,表結(jié)構(gòu)如圖所示。字段名數(shù)

11、據(jù)類(lèi)型長(zhǎng)度主鍵否描述球拍號(hào)int是每個(gè)球拍都有一個(gè)唯一的球拍號(hào)球拍名varchar20租金money每小時(shí)租金所需人民幣狀態(tài)varchar6記錄球拍當(dāng)前的使用狀況日期datetime記錄球拍添加時(shí)間3.2.5場(chǎng)地租借表場(chǎng)地租借表用于保存會(huì)員的基本信息,表結(jié)構(gòu)如圖所示。字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述場(chǎng)地租借號(hào)int是用唯一的編號(hào)標(biāo)記每次場(chǎng)地租借場(chǎng)地號(hào)int租借場(chǎng)地的場(chǎng)地號(hào)帳號(hào)int租借帳號(hào)租借時(shí)刻datetime租借起始時(shí)間返還時(shí)間datetime租借到期時(shí)間所需租金money這段時(shí)間內(nèi)一共花費(fèi)的租金3.2.6球拍租借表球拍租借表用于保存會(huì)員的基本信息,表結(jié)構(gòu)如圖所示。字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述

12、球拍租借號(hào)int是用唯一的編號(hào)標(biāo)記每次球拍租借球拍號(hào)int租借球拍的球拍號(hào)帳號(hào)int租借帳號(hào)租借時(shí)刻datetime租借起始時(shí)間返還時(shí)間datetime租借到期時(shí)間所需租金money這段時(shí)間內(nèi)一共花費(fèi)的租金3.2.7通知表通知表用于保存會(huì)員的基本信息,表結(jié)構(gòu)如圖所示。字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述通知編號(hào)int是用唯一的編號(hào)標(biāo)記每個(gè)通知通知內(nèi)容text通知用戶的信息通知時(shí)間date通知發(fā)布時(shí)間通知人int發(fā)布通知的用戶類(lèi)型varchar10指定通知的類(lèi)型3.3 CHECK約束各表CHECK約束如下表所示。數(shù)據(jù)表約束名約束表達(dá)式用戶表身份約束身份='高級(jí)管理員' OR 身份=

13、9;管理員' OR 身份='會(huì)員'會(huì)員信息表會(huì)員約束會(huì)員等級(jí)='普通會(huì)員' OR 會(huì)員等級(jí)='高級(jí)會(huì)員'帳號(hào)約束帳號(hào)>(0) AND 帳號(hào)<(999999999)年齡約束(年齡>=(18)性別約束性別='男' OR 性別='女'余額約束帳戶余額>=(0)身份證號(hào)約束身份證號(hào) like '0-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-9%'場(chǎng)地表場(chǎng)地號(hào)約束場(chǎng)地號(hào)>(0)球場(chǎng)狀態(tài)約束(狀態(tài)='使用中

14、9; OR 狀態(tài)='空閑'球場(chǎng)租金約束租金>=(0)球拍表球拍號(hào)約束球拍號(hào)>(0)狀態(tài)約束狀態(tài)='使用中' OR 狀態(tài)='空閑'租金約束租金>=(0)3.4存儲(chǔ)過(guò)程系統(tǒng)使用了7個(gè)存儲(chǔ)過(guò)程,分別用于創(chuàng)建管理員、創(chuàng)建用戶、更新用戶、刪除用戶、租借球場(chǎng),租借球拍和驗(yàn)證帳號(hào)密碼。3.4.1 CreateAdministrator(創(chuàng)建管理員)Create PROCEDURE dbo.CreateAdministratorstr1 int,str2 varchar(20)ASdeclare flag intset flag=0INSERT

15、 INTO 用戶表VALUES(str1,str2,'管理員',getdate()set flag=1RETURN flag3.4.2 CreateUser(創(chuàng)建用戶)CREATE PROCEDURE dbo.CreateUserstr1 int,str2 varchar(20),str3 varchar(15),str4 varchar(2),str5 int,str6 varchar(20),str7 varchar(50),str8 varchar(18)ASdeclare insert1 intdeclare insert2 intdeclare maxerr ints

16、et maxerr = 0begin transactionINSERT INTO 用戶表VALUES(str1,str2,'會(huì)員',getdate()set insert1 = errorif insert1>maxerrset maxerr=insert1INSERT INTO 會(huì)員信息表VALUES(str1,str3,str4,str5,str6,str7,'普通會(huì)員',0,str8)set insert2 = errorif insert2>maxerrset maxerr=insert2if maxerr<>0beginrol

17、lbackprint '事務(wù)已回滾'endelsecommitRETURN maxerr3.4.3 UpdateUser(更新用戶)CREATE PROCEDURE dbo.UpdateUsername int,code varchar(20)ASdeclare flag intupdate 用戶表set 密碼=codewhere 帳號(hào)=name;set flag = 1RETURN flag3.4.4 DeleteUser(刪除用戶)CREATE PROCEDURE dbo.DeleteUsername int,code varchar(20)ASdeclare maxerr

18、 intdeclare dele1 intdeclare dele2 intdeclare dele3 intdeclare dele4 intset maxerr=0begin transactiondelete from 用戶表where 帳號(hào)=name and 密碼=code;set dele1=errorif dele1>maxerrset maxerr=1delete from 會(huì)員信息表where 帳號(hào)=name;set dele2=errorif dele2>maxerrset maxerr=1delete from 場(chǎng)地租借表where 帳號(hào)=name;set de

19、le3=errorif dele3>maxerrset maxerr=1delete from 球拍租借表where 帳號(hào)=name;set dele4=errorif dele4>maxerrset maxerr=1if maxerr<>0beginrollbackprint '事務(wù)已回滾'endelsebegincommitendRETURN maxerr3.4.5 RentQC(租借球場(chǎng))CREATE PROCEDURE dbo.RentQCnum int,name int,time datetime,rent moneyASdeclare max

20、err intdeclare alt1 intdeclare alt2 intdeclare alt3 intdeclare alt4 intset maxerr=0begin transactionupdate 場(chǎng)地表 set 狀態(tài)='使用中' where 場(chǎng)地號(hào)=numset alt1=errorif alt1>maxerrset maxerr=alt1insert into 場(chǎng)地租借表(場(chǎng)地號(hào),帳號(hào),租借時(shí)刻,返還時(shí)間,所需租金) values(num,name,getdate(),time,rent)set alt2=errorif alt2>maxerrs

21、et maxerr=alt2update 會(huì)員信息表 set 帳戶余額=帳戶余額-rent where 帳號(hào)=nameset alt3=errorif alt3>maxerrset maxerr=alt3if maxerr<>0beginrollbackprint '出錯(cuò)!事務(wù)已回滾'endelsebegincommitendRETURN maxerr3.4.6 RentQP(租借球拍)CREATE PROCEDURE dbo.RentQPnum int,name int,time datetime,rent money-rest floatASdeclare

22、 maxerr intdeclare alt1 intdeclare alt2 intdeclare alt3 intdeclare alt4 intset maxerr=0begin transactionupdate 球拍表 set 狀態(tài)='使用中' where 球拍號(hào)=numset alt1=errorif alt1>maxerrset maxerr=alt1insert into 球拍租借表(球拍號(hào),帳號(hào),租借時(shí)刻,返還時(shí)間,所需租金) values(num,name,getdate(),time,rent)set alt2=errorif alt2>max

23、errset maxerr=alt2update 會(huì)員信息表 set 帳戶余額=帳戶余額-rent where 帳號(hào)=nameset alt3=errorif alt3>maxerrset maxerr=alt3if maxerr<>0beginrollbackprint '出錯(cuò)!事務(wù)已回滾'endelsebegincommitendRETURN maxerr3.4.7 CompareCode(驗(yàn)證密碼)CREATE PROCEDURE dbo.CompareCodename int,code varchar(20)ASdeclare flag intset

24、flag=0if exists(select * from 用戶表where 帳號(hào)=name and 密碼=code)set flag=1RETURN flag4.系統(tǒng)設(shè)計(jì)4.1 主界面用戶登錄輸入帳號(hào)和密碼,系統(tǒng)連接到數(shù)據(jù)庫(kù)驗(yàn)證帳號(hào)和密碼是否配對(duì),主要代碼如下。 private void pictureBox3_Click(object sender, EventArgs e) if(textBox1.Text = "") MessageBox.Show("帳號(hào)不能為空!","提示"); else if(textBox2.Text

25、= "") MessageBox.Show("密碼不能為空!","提示"); else SqlConnection conn = new SqlConnection("Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Badminton.mdf;Integrated Security=True;User Instance=True"); try conn.Open(); /驗(yàn)證密碼是否正確 SqlCommand cmd = conn.CreateComm

26、and(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "CompareCode" SqlParameter inparm_1 = cmd.Parameters.Add("name", SqlDbType.Int); inparm_1.Direction = ParameterDirection.Input; inparm_1.Value = textBox1.Text.Trim(); SqlParameter inparm_2 = cmd.Parameters.Ad

27、d("code", SqlDbType.VarChar); inparm_2.Direction = ParameterDirection.Input; inparm_2.Value = textBox2.Text.Trim(); SqlParameter outparm_1 = cmd.Parameters.Add("flag", SqlDbType.Int); outparm_1.Direction = ParameterDirection.ReturnValue; cmd.ExecuteNonQuery(); if (int)(cmd.Parame

28、ters"flag".Value) = 0) MessageBox.Show("密碼或帳號(hào)錯(cuò)誤!"); else string query = "select 帳號(hào),身份 from 用戶表 where 帳號(hào)=" + textBox1.Text.Trim(); SqlCommand cmd1 = new SqlCommand(query, conn); SqlDataReader reader = cmd1.ExecuteReader(); reader.Read(); name = reader0.ToString().Trim();

29、 identity = reader1.ToString().Trim(); reader.Close(); pictureBox2.Visible = false; textBox1.Visible = false; textBox2.Visible = false; pictureBox_login.Visible = false; VIPLoad(); RentLoad(); pictureBox_login.Image = Image.FromFile("imagebackground0.jpg"); toolStripStatusLabel1.Text = &qu

30、ot;當(dāng)前用戶:" + name + " " + identity; toolStripStatusLabel2.Text = "登錄時(shí)間:" + DateTime.Now.ToString(); timer1.Enabled = true; conn.Close(); catch (Exception ex) MessageBox.Show(ex.Message); finally conn.Close(); 登錄后,系統(tǒng)根據(jù)帳號(hào)的身份限定使用權(quán)限,由VIPLoad()方法實(shí)現(xiàn),主要代碼如下。private void VIPLoad() if

31、 (identity = "管理員") 高級(jí)權(quán)限ToolStripMenuItem.Visible = false; else if(identity="會(huì)員") 添加帳號(hào)ToolStripMenuItem.Visible = false; 查看帳號(hào)ToolStripMenuItem.Visible = false; 刪除帳號(hào)ToolStripMenuItem.Visible = false; 充值ToolStripMenuItem.Visible = false; 高級(jí)權(quán)限ToolStripMenuItem.Visible = false; 租借管理T

32、oolStripMenuItem.Visible = false; 查看ToolStripMenuItem.Visible = false; 編輯通知ToolStripMenuItem.Visible = false; 進(jìn)入系統(tǒng)后,所有球場(chǎng)和球拍的狀態(tài)都初始化為“空閑”,由RentLoad()方法實(shí)現(xiàn),主要代碼如下。private void RentLoad() SqlConnection conn = new SqlConnection("Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Badminton.mdf;In

33、tegrated Security=True;User Instance=True"); string query1 = "update 球拍表 set 狀態(tài)='空閑'" string query2 = "update 場(chǎng)地表 set 狀態(tài)='空閑'" try conn.Open(); SqlCommand cmd1 = new SqlCommand(query1, conn); SqlCommand cmd2 = new SqlCommand(query2, conn); cmd1.ExecuteNonQuer

34、y(); cmd2.ExecuteNonQuery(); conn.Close(); catch (Exception ex) MessageBox.Show(ex.Message); finally conn.Close(); 定義一個(gè)Rent類(lèi)來(lái)臨時(shí)存儲(chǔ)租借信息,包括租借類(lèi)型、租借的編號(hào)、租借的起止時(shí)間、花費(fèi)、租借人等信息。Rents序列存儲(chǔ)所有正在租借中的信息。當(dāng)已有會(huì)員租借物品時(shí),系統(tǒng)需要從當(dāng)前時(shí)間開(kāi)始計(jì)時(shí),達(dá)到租借時(shí)間時(shí)彈出提示消息。Rent類(lèi)的定義如下。public class Rent private string type;/租借類(lèi)型 private int num;/編號(hào) p

35、rivate DateTime dtime; private string state;/租借狀態(tài) private decimal cost; public string person; public string begin;/起始時(shí)間 public string end;/截止時(shí)間 public string Type get return type; set if(value="球場(chǎng)" |value ="球拍") type=value; public int Num get return num; set if(value>0) num=va

36、lue; public DateTime DT get return dtime; set dtime=value; public string State get return state; set if (value = "使用中" | value = "空閑") state = value; public decimal Cost get return cost; set if (value > 0) cost = value; public Rent(string type, int num, DateTime dtime, string

37、state,string ps,string be,string en,decimal c) Type = type; Num = num; DT = dtime; State = state; person = ps; begin = be; end = en; Cost = c; 定義一個(gè)RentQCorQP()方法獲取租借信息。public void RentQCorQP(string type, int num, DateTime dt, string state, string ps, string be, string en, decimal c) RENT = new Rent(

38、type, num, dt, state, ps, be, en, c); Rents.Add(RENT); 為了確保物資到期返還,新增一個(gè)timer計(jì)時(shí)控件,不斷遍歷Rents序列,當(dāng)有到期的租借時(shí),彈出消息框,將租借狀態(tài)修改為“空閑”,并將該租借從Rents序列中移除。主要代碼如下。 private void timer2_Tick(object sender, EventArgs e) try for (int i = Rents.Count - 1; i >= 0; i-) Rent r = (Rent)Rentsi; DateTime dt = DateTime.Now; if

39、 (r.DT <= dt && r.State = "使用中") r.State = "空閑" MessageBox.Show(" " + r.Type + r.Num + "租借已到時(shí)間!nn 詳細(xì)信息n 帳號(hào):" + r.person + "n 租借時(shí)間:" + r.begin + "n 返還時(shí)間:" + r.end + "n 租金:"+r.Cost+"元", "租借管理"); string

40、 query = "" switch (r.Type) case "球場(chǎng)": query = "update 場(chǎng)地表 set 狀態(tài)='空閑' where 場(chǎng)地號(hào)=" + r.Num.ToString(); break; case "球拍": query = "update 球拍表 set 狀態(tài)='空閑' where 球拍號(hào)=" + r.Num.ToString(); break; SqlConnection conn = new SqlConnection(&qu

41、ot;Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Badminton.mdf;Integrated Security=True;User Instance=True"); try conn.Open(); SqlCommand cmd = new SqlCommand(query, conn); int count = cmd.ExecuteNonQuery(); if (count != 1) MessageBox.Show(r.Type + r.Num.ToString() + "狀態(tài)出錯(cuò)!", "提示"); conn

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論