存储过程小试――结账

       组合查询的时候就遇到了存储进程,那时候觉得高大上,但是仔细1看,分为俩部份,第1部份是参数,第2部份是sql语句。在结账和下机的时候遇到了对多个表的增删改查,学习了1下,觉得对1些简单的存储进程也有点得心应手。

存储进程概况:

存储进程(Stored Procedure)是1种在数据库中存储复杂程序,以便能在外部程序调用的1种数据库对象,他可以视为数据库中的1种函数或子程序。说的明白点,也就是对很多条的sql函数进行了封装,然后在我们的重构D层进行了调用。更加的增强了sql语言的灵活性和利用性。

要写存储进程了,我们了解1下存储进程的格式

create procedure sp_name

@[参数名] [类型],@[参数名] [类型]

as

begin

………

end

   详细的了解,请查看超链接http://baike.haosou.com/doc/2045557⑵164405.html

存储进程小试:

我们在结账的时候,点击结账按钮,我们要对student_info,recharge_info,cancelcash_info的状态进行更新,还要对Daycheck_info表进行插入。所以用存储进程可以很轻松的解决这多的sql语言的问题。


新建存储进程:

存储进程――右击新建存储进程。然后在数据库的右面打开了存储进程的代码框,就在里面写代码啦。我们写的代码应当是CREATE PROCEDURE,然落后行履行,然后保存存储进程,对存储进程命名,关闭sql server,重新打开,就会看到我们写的代码,在结账的单击事件下,我写的代码具体以下:

<span style="font-size:18px;">– =============================================
— Author: <李芬>
— Create date: <Create Date,,>
— Description: <Description,,>
— =============================================
ALTER PROCEDURE[dbo].[proc_AlterAccount]
— Add the parameters for the stored procedure here
@userID varchar(10),
@RemainCash nchar(10),
@RechargeCash nchar(10),
@ConsumeCash nchar(10),
@CancelCsh nchar(10),
@AllCash nchar(10),
@Date nchar(50)
AS
BEGIN
update student_info set ischeck ='已结账' where userID =@userID and ischeck='未结账'
update recharge_info set Status ='已结账' where User_ID =@userID and Status='未结账'
update cancelcash_info set statue ='已结账' where UserID =@userID and statue='未结账'
select * from Daycheck_info where Date =@Date

insert into Daycheck_info values (@RemainCash ,@RechargeCash ,@ConsumeCash ,@CancelCsh,@AllCash,@userID,@Date )

END
</span>

         

      在这段代码中,我们可以很清楚的看到存储进程的结构,同时在最后1个参数的后面,也就是as的前面是没有那个逗号的,写的时候注意。重新打开就出现了下面我的存储进程啦。



   

D层调用存储进程:

<span style="font-size:18px;"> ''' <summary>
''' 对结账的单击事情
''' </summary>
''' <param name="Eaccount"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function Iaccount(Eaccount As DayCheckinfo) As Boolean Implements Iaccount.Iaccount
Dim strSql As String
Dim Erecharge As New Entity.Rechargeinfo
strSql = "proc_AlterAccount"
Dim paras As SqlParameter() = {New SqlParameter("@userID", Eaccount.UserID),
New SqlParameter("@RemainCash", Eaccount.RemainCash),
New SqlParameter("@RechargeCash", Eaccount.RechargeCash),
New SqlParameter("@ConsumeCash", Eaccount.ConsumeCash),
New SqlParameter("@CancelCsh", Eaccount.CancelCash),
New SqlParameter("@AllCash", Eaccount.AllCash),
New SqlParameter("@Date", Eaccount.DDate)}

Dim dt As Boolean
dt = Sqlhelper.SqlHelper.ExecuteNoQuery(strSql, CommandType.StoredProcedure, paras)
Return dt
End Function</span>


      由于我的sqlhelp仅仅封装了4个方法,分别为查询(有参数、没有参数),非查询(有参数、没有参数),所以在写存储进程的时候,要把查询的写成1个存储进程,非查询的写成1个,不要混了,避免出现没法调用sqlhelp方法的问题。

    

      甚么新事物,都看着很难,因而不去做,还走老路。因而就和时期脱节啦。却不知看着难的事情做起来不1定难,甚么都需要1个进程。加油。。。。。    

                      


波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » 存储过程小试――结账

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡