机房重构-存储过程

什么都不说直接上代码!
使用存储过程其他层的代码相同只有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() = {New SqlParameter("@UserID", CardInfo.UserID), New SqlParameter("@State", CardInfo.State)}   
        '定义传入SQLHelper层的参数         
        Dim cmdtxt As String      
        '调用存储过程                    
        cmdtxt = "ChackCardandAdd"   
        '定义返回参数
        Dim flag As New Boolean    
        '注意存储过程和不使用有什么区别 
        flag = sqlhelper.ExecAddDelUpdate(cmdtxt, CommandType.StoredProcedure, sqlParams)   
        '返回参数
        Return flag   
    End Function
End Class

写在SQL中的代码建立存储过程的代码

--创建存储过程    存储过程的名字ChackCardAdd
CREATE procedure ChackCardandAdd
--定义传入参数
@UserID Varchar(16),
@State  Varchar(16),     
--定义传出参数   后面加Out 
@Level varchar(16)="用户" out
as 

declare
--存储过程内部应用变量
@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层对比学习。

猜你喜欢

转载自blog.csdn.net/m18330808841/article/details/80465377