• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      彭 莉

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

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

      1 存儲(chǔ)過(guò)程

      1.1 存儲(chǔ)過(guò)程的定義

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

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

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

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

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

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

      (4)更好的安全機(jī)制??梢詫?duì)存儲(chǔ)過(guò)程授權(quán),實(shí)現(xiàn)對(duì)部分?jǐn)?shù)據(jù)的保密性。未授權(quán)的用戶將不能訪問(wèn)數(shù)據(jù),從而保障了數(shù)據(jù)的安全性。

      1.3 存儲(chǔ)過(guò)程的語(yǔ)法格式

      創(chuàng)建存儲(chǔ)過(guò)程的語(yǔ)法如下:

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

      [with {recompile| encryption}]

      [for replication]

      As

      SQL查詢語(yǔ)句[,…n]

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

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

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

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

      表1 Kqin(考勤信息表)

      表2 KqinType(考勤類型表)

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

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

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

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

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

      as

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

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

      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)前時(shí)間與每節(jié)課開(kāi)始時(shí)間之間的時(shí)間差/*

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

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

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

      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 +'分鐘'/*考勤說(shuō)明格式為遲到多少分鐘*/

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

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

      end

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

      begin

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

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

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

      end

      go

      3 結(jié)束語(yǔ)

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

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

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

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

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

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

      猜你喜歡
      曠課考勤語(yǔ)句
      被記曠課
      意林(2023年10期)2023-07-10 06:25:26
      對(duì)社會(huì)失望,新西蘭學(xué)生頻頻曠課
      重點(diǎn):語(yǔ)句銜接
      基于人臉識(shí)別技術(shù)的考勤應(yīng)用研究
      電子制作(2019年12期)2019-07-16 08:45:28
      智能人臉識(shí)別考勤系統(tǒng)
      電子制作(2019年9期)2019-05-30 09:42:00
      精彩語(yǔ)句
      便攜式指紋考勤信息管理系統(tǒng)設(shè)計(jì)
      大學(xué)生曠課現(xiàn)象多因素分析
      ——以重慶理工大學(xué)為例
      罰款治曠課,英國(guó)政府成功了
      方圓(2014年7期)2014-05-30 10:48:04
      “最嚴(yán)考勤”難留學(xué)生心
      鄯善县| 夹江县| 滦平县| 普兰县| 遵化市| 潮州市| 贡嘎县| 兴义市| 巴彦县| 天水市| 分宜县| 达孜县| 贺州市| 邹城市| 湛江市| 鹤山市| 明光市| 江门市| 秭归县| 古蔺县| 马龙县| 车险| 普洱| 登封市| 峨边| 南安市| 方山县| 阳山县| 竹溪县| 英德市| 铜川市| 和平区| 保德县| 西乡县| 宁强县| 望奎县| 五台县| 江永县| 汝南县| 榆林市| 阿巴嘎旗|