什麼都不說直接上**!
使用儲存過程其他層的**相同只有dal層**不同.
dal層
'寫乙個檢查卡號是否存在,新增
public
class chackcarddal : implements idal.ichackcardidal
'寫乙個方法
public
function chackcard(cardinfo as cardentity) as boolean implements ichackcardidal.chackcard
'例項化sqlhelper
dim sqlhelper as new sqlhelper.sqlhelper
'防止sql注入(以後有機會會寫)
dim sqlparams as sqlparameter() =
'定義傳入sqlhelper層的引數
dim cmdtxt as string
'呼叫儲存過程
cmdtxt = "chackcardandadd"
'定義返回引數
dim flag as new boolean
'注意儲存過程和不使用有什麼區別
flag = sqlhelper.execadddelupdate(cmdtxt, commandtype.storedprocedure, sqlparams)
'返回引數
return flag
endfunction
endclass
寫在sql中的**建立儲存過程的**
--建立儲存過程 儲存過程的名字chackcardadd
create
procedure chackcardandadd
--定義傳入引數
@userid varchar(16),
@state varchar(16),
--定義傳出引數 後面加out
@level
varchar(16)="使用者" out
asdeclare
--儲存過程內部應用變數
@password nchar(16) ,
@username varchar(16) ,
@head varchar(16)
--查詢user_info,card_info表中的資訊
select @head=head ,@username=username,@password=password
from user_info , card_info
where user_info.userid=card_info.userid and user_info.userid=@userid and state=@state
--向admin_info表中新增使用者資訊
insert
into admin_info (userid,password,level,username,head)
values(@userid,@password,@level,@username,@head)
儲存過程的好處暫時就不說了,如果看不懂的話,看前面的七層**中的dal層對比學習。 機房重構 儲存過程
在機房重構過程中七層的主線明白了以後就剩下大量的敲 了,這一過程無疑比較枯燥,因此有必要在機房中嘗試一些新東西,比如,儲存過程。那麼什麼是儲存過程呢?儲存過程是存放在伺服器上的預先編譯好的sql語句,在第一次執行時進行語句檢查和編譯,編譯好的儲存過程在快取記憶體中用於後續呼叫,這樣就可以使儲存過程執...
機房重構 儲存過程
儲存過程 儲存過程 stored procedure 是在大型 資料庫系統 重複使用。儲存過程可以重複使用,從而可以減少資料庫開發人員的工作量。減少網路流量。儲存過程位於伺服器上,呼叫的時候只需要傳遞儲存過程的名稱以及引數就可以了,因此降低了網路傳輸的資料量。安全性。引數化的儲存過程可以防止sql注...
機房重構 儲存過程
儲存過程 stored procedure 是使用transact sql語言編寫的一段能實現指定功能的程式。其次,這種程式被sql server編譯好後,存放在sql server資料庫中。使用者可以通過儲存過程的名稱和引數傳遞呼叫這些具有指定功能的儲存過程。儲存過程也是資料庫物件。人們通常使用儲...