1 5 3 後台業務邏輯

2022-06-29 19:51:12 字數 2177 閱讀 9015

後台操作的業務主要包括:對課程資訊的維護(增加、刪除、修改和查詢)、對教師資訊的維護和對學生資訊的維護。

由於上述操作大部分都是類似的,我們只介紹對課程資訊的維護,其餘的部分請讀者自行參考本節的源**。

這裡,為本節的業務先定義乙個類(backaction),這個類與上一節的業務邏輯處理類相似,也要繼承資料庫處理類,類圖如下所示

(1)增加課程

這個操作比較簡單,我們只需根據課程需要的引數,直接通過sql語句進行插入資料即可。

function addcourse($c_name,$c_credit)  

//執行插入操作

$sql = "insert into course(c_name,c_credit) values('$c_name',$c_credit)";

return

$this->query($sql

); }

(2)刪除課程

刪除課程在前面的sql操作時已經介紹過,需要通過呼叫儲存過程的方式進行。

function delcourse($c_id

)

(3)修改課程

修改課程的操作我們需要慎重考慮一下,如果有教師領取了該課程的教學任務,或者學生選取了該課程,此時修改該課程,那麼,修改後的課程還是教師領取教學任務或者學生選取該課程的原意嗎?因此,這裡需要首先刪除該課程涉及的教學表和選課表中的相關資訊,然後修改該課程(這裡主要時名稱和學分),以便教師能夠重新領取教學任務,或者學生重新選取該課程。

我們還是需要通過sql的儲存過程來實現這一過程。

delimiter $

create

procedure updatecourse(in cid int,in new_name varchar(30),in new_credit int

)

--宣告修改課程的儲存過程(函式)引數為課程id,新的課程名稱和學分

begin

declare i_error integer; --

定義乙個變數,用於接收出錯資訊

declare

continue handler for sqlexception set i_error =1;

--一旦出錯則將變數設定為1

start transaction ; --

發起事務

delete

from teaching where t_id=tid and c_id=

cid;

--刪除教學表中有關該課程資料

delete

from selection where c_id=cid; --

刪除選課表中有關該課程資料

update course set c_name=new_name,c_credit=

new_credit

where c_id=cid; --

更新課程表

if i_error =

1then

--判斷是否出錯

rollback; --

回滾事務

else

commit; --

提交事務

endif

;end $

在php中,我們直接呼叫該儲存過程。

function changecourse($c_id,$c_name,$c_credit

)

(4)查詢課程

查詢課程在前端中已有實現(loadcourse方法),這裡我們只列出**。

1

function querycourse($c_id)2

8else912

$course_list = array

();13

$query = $this->query($sql

);14

//將查詢結果轉化為陣列列表

15while ($row = $this->fetch_array($query

)) 22

//返回結果列表

23return

$course_list

;24 }

金蝶EAS,後台業務邏輯,SQL查詢

金蝶eas bos框架,原則上只允許在後台使用sql語句進行操作,通常情況下,絕大多數的操作都可以通過entityviewinfo以及標準功能介面實現。以下 示例演示如何在後台使用sql進行查詢 獲取財務組織編碼 名稱快取 返回值鍵值對 鍵為組織編碼,值為組織名稱 suppresswarnings ...

Redis實現微博後台業務邏輯系列(一)

今天我們開始用redis資料庫實現類似微博的後台業務邏輯,我會帶領大家一步步的實現類似微博的各種功能效果。這裡我所使用的環境是python3.5 redis3.2.1,python2和python3有很多命令不相同,請大家注意。檢查使用者名稱和郵箱名的唯一性 1 2 3 4 5 6 7 8 9 10...

業務邏輯處理

功能的實現,都是依靠業務邏輯來完成的,記得看過不能完成業務邏輯的程式設計師都不會成長的,確實是的,最近在完成業務邏輯的時候,程式的業務判斷有很多的,所以開始接觸,設計模式,看到來一些設計模式,看結合專案,確實是可以根據設計模式來改寫的,so,懂得設計模式可以快速的,寫好的 的。關於函式同步和非同步之...