機房收費系統中 儲存過程中加入事務,實現學生註冊

2022-05-03 07:51:15 字數 511 閱讀 7104

現在正在開發的機房收費系統,總得來說,是對學生上機進行收費管理(沒有要在學校開網咖的意思啊!為了學習面開發的)大體的功能是這樣的:學生上機,然後刷卡,下機的時候,再刷卡,然後通過對學生的上機時間收取相應的費用,同時,該系統還可以統計與維護學生的基本資訊、上機記錄、學生註冊、充值、退卡等功能。

其中有乙個功能是學生註冊,功能:註冊學生的基本資訊,同時可以在該學生帳戶下存入一定的金額。

因為,要學生註冊資訊的同時要對學生帳戶進行充值,所以說要涉及到兩個表的操作。乙個是學生的基本資訊表:student,還有乙個是學生的充值記錄表:rechargerecord。可以想到,如果學生註冊成功,那麼,必須要向充值表中寫入相應的充值記錄,所以,我的解決辦法,是用事務來實現。因為事務是原子性,可以要麼都做,要麼都不做。就算是寫入到了學生的基本資訊表,但是充值表中沒有寫入記錄,也是註冊不成功。

所以,我把事務寫成了儲存過程,讓應用程式來呼叫:

下面是我的儲存過程:

其中用@@error來取得執行結果!

希望大家留下您的寶貴意見啊!

機房收費系統重構之儲存過程

是在大型 資料庫系統 中,一組為了完成特定功能的sql 語句集,儲存在資料庫中,經過第一次編譯後再次呼叫不需要再次編譯,使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執行它。類似於c語言中的函式 用來執行管理任務或應用複雜的業務規則 可以帶引數,也可以返回結果 可以包含資料操作語...

儲存過程中的事務實現 轉貼

基本上方法有兩個 set xact abort 指定當 transact sql 語句產生執行時錯誤時,microsoft sql server 是否自動回滾當前事務。語法set xact abort 注釋當 set xact abort 為 on 時,如果 transact sql 語句產生執行 ...

機房收費系統重構之儲存過程的使用

從一開始對於機房收費系統的無從下手,到現在已經接近尾聲,像冬天的迷霧一樣,隨著時間散開了去,對於其也是越來越清晰,想一想,這種學習的過程還真是美妙。當然只學習不去總結是沒有意義的。今天我就來把儲存過程的使用總結一下。拿使用者註冊來說,就是往資料庫裡新增使用者,以方便更多的使用者使用。那麼使用者註冊我...