SQL server中的存储过程在刚刚接触数据库知识的时候,仅限于听说,通过这次机房重构,对SQL server的强大有了更加深刻的理解。存储过程的使用也极大地方便了我们在机房重构过程中对数据库中数据的操作。那么让我们来看看存储过程的神奇之处吧!
--创建存储过程PROC_GetStudent CREATE PROC PROC_GetStudent AS SELECT * FROM Student_Info GO --调用存储过程 EXEC PROC_GetStudent
------------------------ --应用:注册功能 --操作:添加退卡信息到CancelCard_Info和修改卡号状态 --制作:王洪玉 --时间:2016/2/19 ------------------------ CREATE PROCEDURE PROC_CancelCard @CardNo varchar(15), --定义传递的参数类型 @UserID varchar(10), @Date date, @Time time(7) AS Declare @cancelMoney decimal(18,0) --声明变量 begin --执行查询语句将查询到的金额传给参数 Select @cancelMoney=Cash From Card_Info Where CardNo=@CardNo --向Cancel_Info表中添加退卡数据 INSERT INTO CancelCard_Info(CardNo,CancelCash,Date,Time,UserID) values (@CardNo,@cancelMoney,@Date,@Time,@UserID) --修改card状态 Update Card_Info Set Status='未使用', Cash='0' WHERE CardNo=@CardNo END
Public Function ICancelCard(ByVal Rcard As Entity.EN_StudentInfo) As Integer Implements ICancelCardDAL.ICancelCard Dim sqlhelper As New SQLHelper.SqlHelper Dim cmdText As String Dim intCard As Integer cmdText = "PROC_CancelCard" '将存储过程名称赋值给定义的字符串 Dim paras As SqlParameter() = {New SqlParameter("@CardNo", Rcard.CardNo), '传递D层的参数 New SqlParameter("@UserID", AllUse.AllUserID), New SqlParameter("@Date", Rcard.DateNow), New SqlParameter("@Time", Rcard.Time) } intCard = sqlhelper.ExecAddDelUpdate(cmdText, CommandType.StoredProcedure, paras) '调用SQLHelper,查询数据,需要注意的 '是使用CommandType.StoredProcedure, '不然无法识别该存储过程。 Return intCard '返回查询结果 End Function