什么都不说直接上代码!
使用存储过程其他层的代码相同只有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层对比学习。