国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

存儲過程在學(xué)生考勤系統(tǒng)中的應(yīng)用

2014-06-26 09:52:48
關(guān)鍵詞:曠課考勤語句

彭 莉

(武漢工程職業(yè)技術(shù)學(xué)院 湖北 武漢:430080)

隨著計(jì)算機(jī)的普及,越來越多的企業(yè)和學(xué)校等部門開始使用信息管理系統(tǒng)來進(jìn)行辦公。學(xué)生考勤系統(tǒng)采用C/S(客戶端/服務(wù)器)模式,以C#為前臺應(yīng)用程序,SQL Server作為后臺數(shù)據(jù)庫。在數(shù)據(jù)庫中,使用存儲過程不僅可以增強(qiáng)系統(tǒng)安全性,還可以提高系統(tǒng)的運(yùn)行效率。

1 存儲過程

1.1 存儲過程的定義

存儲過程是一組完成特定功能的T-SQL語句和流程控制語句的預(yù)編譯集合。它可以接收參數(shù)、輸出參數(shù)、返回值或者返回單個或多個結(jié)果集。存儲過程是一種數(shù)據(jù)庫對象,獨(dú)立的存儲在數(shù)據(jù)庫中,一般通過存儲過程名進(jìn)行調(diào)用。

1.2 存儲過程的優(yōu)點(diǎn)

存儲過程與存儲在客戶端的本地T-SQL語句相比,有以下四個優(yōu)點(diǎn):

(1)模塊化程序設(shè)計(jì)。每個存儲過程都是一個模塊,用于完成某一特定功能。存儲過程創(chuàng)建好后,以后可以通過存儲過程名反復(fù)調(diào)用,類似于C語言中的函數(shù)。另外,設(shè)計(jì)人員可獨(dú)立于應(yīng)用程序而對存儲過程單獨(dú)進(jìn)行修改,可移植性高。

(2)執(zhí)行效率高。如果某操作包含大量的T-SQL語句并且被反復(fù)執(zhí)行,那么存儲過程比T-SQL語句執(zhí)行速度要快。因?yàn)榇鎯^程是預(yù)編譯的,系統(tǒng)在首次執(zhí)行該存儲過程時會對它進(jìn)行分析和優(yōu)化,并將其保存在高速緩沖存儲器中;而T-SQL語句是從客戶端發(fā)送的,每次執(zhí)行時都要進(jìn)行預(yù)編譯和優(yōu)化,因此速度比較慢。

(3)減少網(wǎng)絡(luò)通信量。執(zhí)行一個由成百條T-SQL語句組成的命令時,需要重復(fù)發(fā)送成百條T-SQL語句;而執(zhí)行存儲過程只需要從客戶端發(fā)送一條執(zhí)行語句,從而減少了網(wǎng)絡(luò)通信量。

(4)更好的安全機(jī)制??梢詫Υ鎯^程授權(quán),實(shí)現(xiàn)對部分?jǐn)?shù)據(jù)的保密性。未授權(quán)的用戶將不能訪問數(shù)據(jù),從而保障了數(shù)據(jù)的安全性。

1.3 存儲過程的語法格式

創(chuàng)建存儲過程的語法如下:

create proc[edure]存儲過程名[;分組號][{@參數(shù) 數(shù)據(jù)類型}[varying][=默認(rèn)值][out| output]][,…n]

[with {recompile| encryption}]

[for replication]

As

SQL查詢語句[,…n]

2 存儲過程在學(xué)生考勤系統(tǒng)中的應(yīng)用

2.1 學(xué)生考勤系統(tǒng)表的設(shè)計(jì)

本系統(tǒng)中與考勤相關(guān)的表有三個,Kqin(考勤信息表)、KqinType(考勤類型表)和KqinJiLu(考勤時間設(shè)置表)。具體表結(jié)構(gòu)見表1-3。

2.2 學(xué)生考勤存儲過程的設(shè)計(jì)

表1 Kqin(考勤信息表)

表2 KqinType(考勤類型表)

表3 KqinJiLu(考勤時間設(shè)置表)

學(xué)生考勤存儲過程的功能是獲得學(xué)生的考勤說明信息。此考勤說明信息主要分為三種情況:(1)正常出勤;(2)如果遲到,并且是第一節(jié)課,顯示遲到多少分鐘;(3)如果遲到,并且不是第一節(jié)課,顯示曠課多少節(jié),遲到多少分鐘。其中,遲到時間是通過當(dāng)前時間與每節(jié)課開始時間之差獲得;曠課節(jié)數(shù)是通過流程控制語句中的選擇結(jié)構(gòu)進(jìn)行判斷得到。創(chuàng)建該存儲過程的源代碼如下:

create proc proc_Kqin /*創(chuàng)建存儲過程*/

@stuId int, /*接收學(xué)生編號參數(shù)*/

@remark varchar(20) output /*輸出考勤說明*/

as

declare @ks int /*聲明變量ks,表示上的是哪節(jié)課*/

declare @time char(6) /*聲明變量time,表示遲到的時間,以分鐘為單位*/

select @ks = dName, @time = Convert(char,DATEDIFF(mi, SUBSTRING(Convert(varchar,dStart,120),11,6), SUBSTRING(Convert(varchar,getdate(),120),11,6))) from KqinJilu where SUBSTRING(Convert(varchar,getdate(),120),11,6) between SUBSTRING(Convert(varchar,dStart,120),11,6) and SUBSTRING(Convert(varchar,dStop,120),11,6)

/*@time是當(dāng)前時間與每節(jié)課開始時間之間的時間差/*

/*SUBSTRING(Convert(varchar,getdate(),120),11,6)獲得當(dāng)前時間,只包括時分,不含年月日*/

/*SUBSTRING(Convert(varchar,dStart,120),11,6)表示上課時間*/

/*SUBSTRING(Convert(varchar,dStop,120),11,6)表示下課時間*/

declare @min int /*聲明變量min,表示第一節(jié)課*/

declare @max int /*聲明變量max,表示最后一節(jié)課*/

select @min = min(dId) from KqinJilu

select @max = max(dId) from KqinJilu

if @ks = 0 /*如果是第一節(jié)課*/

begin

set @remark = '遲到'+ @time +'分鐘'/*考勤說明格式為遲到多少分鐘*/

insert into Kqin values (@stuId,getdate(),100,@remark,'')

/*在Kqin表中插入學(xué)生遲到的考勤說明信息*/

end

else if @ks between 1 and 10 /*如果不是第一節(jié)課*/

begin

set @remark = '曠課'+Convert(char(2),@ks,120)+'節(jié),遲到'+Convert(char(2),@time,120)+'分鐘' /*考勤說明的格式為曠課多少節(jié),遲到多少分鐘*/

insert into Kqin values (@stuId,getdate(),101,@remark,'')

/*在Kqin表中插入學(xué)生曠課以及遲到的考勤說明信息*/

end

go

3 結(jié)束語

存儲過程在學(xué)生考勤系統(tǒng)中的使用,提高了系統(tǒng)的執(zhí)行效率。信息管理系統(tǒng)的安全高效運(yùn)行一直是廣大開發(fā)人員思考的問題,如何有效的利用存儲過程仍將是大家努力的方向。

[1] 胡吉林,姜波,高丙朋.存儲過程在ASP.NET數(shù)據(jù)庫系統(tǒng)開發(fā)中的應(yīng)用[J].微型電腦應(yīng)用,2008,24(9):51-53.

[2] 白會肖.存儲過程在.NET Web程序中的應(yīng)用——以“權(quán)限管理系統(tǒng)”的劃分權(quán)限模塊為例[J].石家莊職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012,24(2):61-63.

[3] 賀憲春.SQLSERVER視圖和存儲過程在進(jìn)銷存系統(tǒng)開發(fā)中的應(yīng)用——以.NET開發(fā)環(huán)境實(shí)現(xiàn)統(tǒng)計(jì)業(yè)績提成為例[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(1):4-6.

[4] 吳伶琳.存儲過程在網(wǎng)上商城系統(tǒng)開發(fā)中的應(yīng)用[J].計(jì)算機(jī)時代,2013(9):31-33.

[5] 耿濤,黃磊,劉儒香.SQLServer2005存儲過程在學(xué)生上機(jī)計(jì)費(fèi)管理系統(tǒng)中的應(yīng)用[J].西昌學(xué)院學(xué)報(bào)(自然科學(xué)版),2013,27(2):56-58.

猜你喜歡
曠課考勤語句
被記曠課
意林(2023年10期)2023-07-10 06:25:26
對社會失望,新西蘭學(xué)生頻頻曠課
重點(diǎn):語句銜接
基于人臉識別技術(shù)的考勤應(yīng)用研究
電子制作(2019年12期)2019-07-16 08:45:28
智能人臉識別考勤系統(tǒng)
電子制作(2019年9期)2019-05-30 09:42:00
精彩語句
便攜式指紋考勤信息管理系統(tǒng)設(shè)計(jì)
大學(xué)生曠課現(xiàn)象多因素分析
——以重慶理工大學(xué)為例
罰款治曠課,英國政府成功了
方圓(2014年7期)2014-05-30 10:48:04
“最嚴(yán)考勤”難留學(xué)生心
宁都县| 安岳县| 石嘴山市| 蒙城县| 丹江口市| 桐城市| 惠安县| 五寨县| 淮安市| 健康| 漯河市| 巨鹿县| 从江县| 平定县| 汶上县| 德阳市| 沧源| 津南区| 湖州市| 临夏市| 宕昌县| 会泽县| 兴仁县| 红原县| 武穴市| 嘉鱼县| 临汾市| 灵山县| 兴和县| 陕西省| 东阿县| 山东| 光泽县| 屯留县| 漳州市| 弥渡县| 左权县| 抚宁县| 阿巴嘎旗| 平湖市| 左云县|