ASP.NET简易教程3——SQL存储过程
SQL存储过程
B/S结构下,离不开数据库,在接下来的学习时,要求读者至少知道少许的基本SQL语句(增删查改)。
在进行正式编程时,简要介绍一下存储过程。存储过程就是将一系列的SQL语句集中置一个文件中。
在大型数据库系统中,存储过程具有重要的作用,至于优点,大家可以搜索网上的资料,在此就不过多的介绍,个人感觉比起拼凑SQL语句,优点实在是太多了。
首先大家在自己的SQL2008中新建一个数据库,本人新建一个WebSite1数据库,添加一张表tb_User(UserId,UserName,Age),其中UserId为主键、自增字段。
存储过程的创建,SQL2008提供了简单的创建方式。首先在对象资源管理器中,数据库目录下,“可编程性”——“存储过程”,右击“存储过程”,点击“新建存储过程”,可看见弹出的对话框。
我自己创建了一个存储过程(sp_User),存储过程的命名,一般情况下,一个asp.Net页面对于一个存储过程,存储过程的名称用asp.net页面的名称,这样调试、测试、维护起来比较方便,团队合作时,避免相关命名的重复概率。
存储过程的创建起来是比较简单的,我们需要做的只是修改其中的一些代码即可。
存储过程sp_User
-- ============================================= -- Author: suguoqiang -- Create date: 20121111 -- Description: 对该存储过程的相应描述 -- ============================================= ALTER PROCEDURE [dbo].[sp_User](@type char(20)='',@UserId int='',@UserName char(10)='',@Age int='') AS BEGIN /*查询User表的信息*/ if @type='Select_UserInfo' begin SELECT * FROM tb_User end /*增加User*/ if @type='Insert_User' begin insert into tb_User (UserName,Age) values(@UserName,@Age) end /*修改User*/ if @type='Update_User' begin update tb_User set UserName=@UserName,Age=@Age where UserId=@UserId end /*删除User*/ if @type='Delete_User' begin delete tb_User where UserId=@UserId end END
- Author:填写存储过程的书写人的名称Create date:日期 Description:存储过程简介
- 修改图中“1”部分的内容,其中包括存储过程的名称(sp_User),当然还要填写相关的参数(可理解为函数的形参),至于需要传递什么参数,那要看你需要什么参数,实参当然是从网页页面传递过来的一些参数。一般情况下,最好是给相关形参默认值,如当前我将四个实参都赋值为’ ’。这样赋值是有目的,因为一个存储过程调用时,要求传递参数,但我并不需要传递所有的形参的实参,这样的话,如果没给形参默认值,很显然会出错。还要强调一点,@type参数的作用,其实它起到的判断条件的作用,意思是根据你调用存储过程时,你到底是想调用if的哪条语句,例:如果此时我想查询User表,当我调用存储过程sp_User时,我传递@type实参时等于“Select_UserInfo”,那么,当执行存储过程时,就会执行if @type=‘Select_UserInfo’语句中begin和end之间的SQL语句,进行相关的数据库操作。sfsdffsdfsdfsdfsdfsdfdsfsdfddsdsdsdshghg
- 修改图中“2”部分的内容,其部分可理解为函数的实体部分,可看到每个SQL语句的执行前,都有一个if判断语句,其作用在前面介绍了,目的就是,通过@type传递的实参,判断到底要执行哪条SQL语句。
完成以上步骤后,点击工具栏中的“保存”按钮即可,然后右键对象管理器中的存储过程——刷新,即可看到新建的存储过程,至此,一个存储过程创建成功。
下一讲:ASP.NET简易教程4——创建首个asp.net页面
本教程希望引导式学习的方式传授知识,引导新手自主学习,养成自学的能力。
鉴于个人能力有限,如果发现错漏地方,欢迎指点。
鉴于个人能力有限,如果发现错漏地方,欢迎指点。
著作权声明:本文由http://www.cnblogs.com/suguoqiang 原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!
本是菜鸟,偶做老鸟,略读半卷书,坐井说天阔。大志无所为,海斗量得失,年到老时方恨晚,怒指生不逢时。