中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

機(jī)房收費(fèi)系統(tǒng)存儲(chǔ)過程 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.szmdbiao.com - 電腦資料】

    在這次機(jī)房收費(fèi)系統(tǒng)中學(xué)習(xí)到的東西還真不少,

機(jī)房收費(fèi)系統(tǒng)存儲(chǔ)過程

。E-R圖,視圖,存儲(chǔ)過程,觸發(fā)器等等。這些東西都是在之前學(xué)習(xí)過的,這次運(yùn)用到實(shí)踐中,收獲倍增。

    運(yùn)用存儲(chǔ)過程的好處

    1、存儲(chǔ)過程只在創(chuàng)造時(shí)進(jìn)行編譯,以后每次執(zhí)行存儲(chǔ)過程都不需再重新編譯,而一般SQL語句每執(zhí)行一次就編譯一次,所以使用存儲(chǔ)過程可提高數(shù)據(jù)庫執(zhí)行速度。

    2、當(dāng)對(duì)數(shù)據(jù)庫進(jìn)行復(fù)雜操作時(shí)(如對(duì)多個(gè)表進(jìn)行Update,Insert,Query,Delete時(shí)),可將此復(fù)雜操作用存儲(chǔ)過程封裝起來與數(shù)據(jù)庫提供的事務(wù)處理結(jié)合一起使用。

    3、過程可以重復(fù)使用,可減少數(shù)據(jù)庫開發(fā)人員的工作量

    4、全性高,可設(shè)定只有某些用戶才具有對(duì)指定存儲(chǔ)過程的使用權(quán)。

    存儲(chǔ)過程的實(shí)際應(yīng)用

    在退卡中我用到了存儲(chǔ)過程,下面就以退卡為例。

    創(chuàng)建一個(gè)存儲(chǔ)過程

<span style="font-family:KaiTi_GB2312;font-size:18px;">create  procedure proc_CloseCard  --創(chuàng)建存儲(chǔ)過程@cardId varchar(10),@closeCardUserId varchar(10) --定義參數(shù)asbegin--在退卡表中插入數(shù)據(jù)insert into t_CloseCard(cardId,closeCash,registryDate,registryTime,isChecked,registryUserId) select cardId ,balance ,date,time, isChecked ,userId  from t_card where cardId =@cardId--將卡表中的相關(guān)卡刪除delete from t_card where cardId=@cardId--對(duì)退卡表進(jìn)行更新update t_closecard set closeuserId =@closeCardUserId  where cardId =@cardId end</span>

    退卡D層對(duì)存儲(chǔ)過程的調(diào)用

   

<span style="font-family:KaiTi_GB2312;font-size:18px;">' <summary>    ' 添加退卡信息    ' </summary>    ' <param name="_enCloseCardEntity">退卡實(shí)體類</param>    '<returns>插入成功返回True,失敗返回False</returns>    Public Function AddCloseCard(ByVal enCloseCardEntity As CloseCardEntity) As Boolean        Dim sqlHelper As New SQLHelper '實(shí)例化SQLHelper        'SQL語句        Dim cmdText As String = "proc_CloseCard"        '定義命令類型,存儲(chǔ)過程        Dim cmdType As CommandType        cmdType = CommandType.StoredProcedure        '定義參數(shù)數(shù)組        Dim sqlParams As SqlParameter()        '給參數(shù)數(shù)組賦值        sqlParams = {New SqlParameter("@cardId", enCloseCardEntity.cardId),                     New SqlParameter("@closeCardUserId", SharedUserId.userId)}        Return sqlHelper.ExecuteNoQuery(cmdText, cmdType, sqlParams)    End Function</span>
用存儲(chǔ)過程進(jìn)行操作的結(jié)果和用SQL語句的結(jié)果是一樣的,

電腦資料

機(jī)房收費(fèi)系統(tǒng)存儲(chǔ)過程》(http://www.szmdbiao.com)。只是一個(gè)SQL語句寫在了數(shù)據(jù)庫端,一個(gè)寫在了編譯端。

    用過以后就會(huì)發(fā)現(xiàn)存儲(chǔ)過程其實(shí)挺簡單的。但是聽師傅說存儲(chǔ)過程是面向過程的,不符合面向?qū)ο蟮乃枷。以后還是少用。但是現(xiàn)在處于學(xué)習(xí)階段,用用也是好的,最起碼要會(huì)用。在實(shí)踐中不斷進(jìn)步。

最新文章