後台操作的業務主要包括:對課程資訊的維護(增加、刪除、修改和查詢)、對教師資訊的維護和對學生資訊的維護。
由於上述操作大部分都是類似的,我們只介紹對課程資訊的維護,其餘的部分請讀者自行參考本節的源**。
這裡,為本節的業務先定義乙個類(backaction),這個類與上一節的業務邏輯處理類相似,也要繼承資料庫處理類,類圖如下所示
(1)增加課程
這個操作比較簡單,我們只需根據課程需要的引數,直接通過sql語句進行插入資料即可。
function addcourse($c_name,$c_credit)(2)刪除課程//執行插入操作
$sql = "insert into course(c_name,c_credit) values('$c_name',$c_credit)";
return
$this->query($sql
); }
刪除課程在前面的sql操作時已經介紹過,需要通過呼叫儲存過程的方式進行。
function delcourse($c_id(3)修改課程)
修改課程的操作我們需要慎重考慮一下,如果有教師領取了該課程的教學任務,或者學生選取了該課程,此時修改該課程,那麼,修改後的課程還是教師領取教學任務或者學生選取該課程的原意嗎?因此,這裡需要首先刪除該課程涉及的教學表和選課表中的相關資訊,然後修改該課程(這裡主要時名稱和學分),以便教師能夠重新領取教學任務,或者學生重新選取該課程。
我們還是需要通過sql的儲存過程來實現這一過程。
delimiter $在php中,我們直接呼叫該儲存過程。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 $
function changecourse($c_id,$c_name,$c_credit(4)查詢課程)
查詢課程在前端中已有實現(loadcourse方法),這裡我們只列出**。
1function 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,懂得設計模式可以快速的,寫好的 的。關於函式同步和非同步之...