存储过程小实践

前言:

  关于存储过程实践一把,它是什么,有什么作用,如何使用,对于存储过程的认识也不例外;

正文:

1、是什么?

  存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,其实质上就是一段存储在数据库中的代码;经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它;

2、优缺点:

在这里插入图片描述
3、如何用?

  • 打开数据库-可编程性-存储过程
ALTER PROCEDURE [dbo].[Pro_CancelCard] 
	-- Add the parameters for the stored procedure here//添加需要的参数
	@cardNo varchar(20),
	@IsCheck varchar(20),
	@status varchar(20),
    @userID varchar(20),
    @returnCash numeric(19, 4),	
	@date date,
	@time time(7),
	@offDate date,
	@offTime time(7)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
    -- 对表信息的操作	
	Insert into T_CancelCard (cardNo,userID,returnCash,date,time,IsCheck)values(@cardNo,@userID,@returnCash,@date,@time,@IsCheck)

	Delete T_User where userID=@userID

	Update T_Card set status=@status

	Update T_Student set status=@status

	Update T_Line set offDate =@OffDate ,offTime =@OffTime
END

4、D层调用代码:

  • 书写完毕就是调用啦,以下是以退卡为例的小实践
public DataTable selectCard(Entity.CancelCardInfo cancelCardInfo)
        {
            SQLHelper sqlHelper = new SQLHelper();
         
            //所用到的参数,与存储过程相对应
            SqlParameter[] sqlParams = {new SqlParameter("@cardNo",CancelCardInfo.cardno),
                                        new SqlParameter("@userID",CancelCardInfo.userID),
                                        new SqlParameter("@returnCash",CancelCardInfo.returnCash),
                                        new SqlParameter("@date",CancelCardInfo.Date),
                                        new SqlParameter("@time",CancelCardInfo.Time),
                                        new SqlParameter("@IsCheck",CancelCardInfo.IsCheck),
                                        new SqlParameter("@status",CancelCardInfo.status),
                                        new SqlParameter("@offDate",CancelCardInfo.offDate),
                                        new SqlParameter("@OffTime",CancelCardInfo.offTime) };
            //存储过程名称
            string sqlCard = "Proc_CancelCard";     
            DataTable cancelCardSelect = SQLHelper.ExecuteQuery(sql, sqlParams, CommandType.StoredProcedure);  //注意这里也是存储过程    
            return cancelCardSelect;
        }

小结:

  小小实践;

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值