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

 

 

  1. Author:填写存储过程的书写人的名称Create date:日期 Description:存储过程简介
  2. 修改图中“1”部分的内容,其中包括存储过程的名称(sp_User),当然还要填写相关的参数(可理解为函数的形参),至于需要传递什么参数,那要看你需要什么参数,实参当然是从网页页面传递过来的一些参数。一般情况下,最好是给相关形参默认值,如当前我将四个实参都赋值为’ ’。这样赋值是有目的,因为一个存储过程调用时,要求传递参数,但我并不需要传递所有的形参的实参,这样的话,如果没给形参默认值,很显然会出错。还要强调一点,@type参数的作用,其实它起到的判断条件的作用,意思是根据你调用存储过程时,你到底是想调用if的哪条语句,例:如果此时我想查询User表,当我调用存储过程sp_User时,我传递@type实参时等于“Select_UserInfo”,那么,当执行存储过程时,就会执行if @type=‘Select_UserInfo’语句中begin和end之间的SQL语句,进行相关的数据库操作。sfsdffsdfsdfsdfsdfsdfdsfsdfddsdsdsdshghg
  3. 修改图中“2”部分的内容,其部分可理解为函数的实体部分,可看到每个SQL语句的执行前,都有一个if判断语句,其作用在前面介绍了,目的就是,通过@type传递的实参,判断到底要执行哪条SQL语句。

完成以上步骤后,点击工具栏中的“保存”按钮即可,然后右键对象管理器中的存储过程——刷新,即可看到新建的存储过程,至此,一个存储过程创建成功。

 上一讲:ASP.NET简易教程2——创建三层架构模板

 下一讲:ASP.NET简易教程4——创建首个asp.net页面

本教程希望引导式学习的方式传授知识,引导新手自主学习,养成自学的能力。
鉴于个人能力有限,如果发现错漏地方,欢迎指点。

著作权声明:本文由http://www.cnblogs.com/suguoqiang 原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!

转载于:https://www.cnblogs.com/suguoqiang/archive/2012/12/10/2811389.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中的openpyxl如何对excel修改文件

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) Python安装openpyxl 首先我们应该配置pip 详细配置教程地…

IndentationError: unindent does not match any outer indentation level-报错问题

在python中遇到这样的问题 翻译过来是: 缩进错误:未缩进与任何外部缩进级别都不匹配 很显然,一般都是格式没对,你看看你的代码对齐了没有。python对缩进非常的严格呢! 例如: 此处我的j多打了一个空格&am…

冒泡排序详解--python

我没学冒泡排序之前眼中的冒泡排序是这个样子的 哈哈哈 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行! 如有转载,请注明…

uni-app和php交互DES加密解密数据

1 uni-app操作 (1) 打开HBuilderX的视图->显示终端 cd 切换到你项目的根目录 执行命令 npm install crypto-js 安装成功后你的项目根目录会生成node_modules文件夹,里面有crypto-js就说明成功了 (2)接下来在哪使用就直接import CryptoJS f…

字典超详细--python

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行! 如有转载,请注明出处(如不注明,盗者必究&#xf…

两数之和-给定一个整数数组nums和一个目标值target,请你在该数组找出和为目标值的那两个整数,并返回他们的数组下标,你可以假设每种输入只会对应一个答案。但是,数组同一个元素不能使-python

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行! 如有转载,请注明出处(如不注明,盗者必究&#xf…

选择排序算法python

选择排序定义: https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行! 如有转载,请注明出处(如不注明&am…

Python中的异常处理Try...except...finally的使用的简单理解

python中的异常处理1.Python中的异常处理定义2.Try…except…finally的使用3.代码4.运行结果1.Python中的异常处理定义 在程序运行的过程中,如果发生了错误就会报错,我们可以事先约定返回一个错误代码,这样就可以知道是否有错,以…

Aveva Marine 新建项目001

1# 项目代号定义,三个字符,例如Abc 2# 新建文件夹,命名为“Abc” 3# 新建文件名为evars.bat文件,放到项目文件夹的根目录 内容为: 1 SET Abc000项目文件夹路径\Abc000\ 2 SET AbcMAC项目文件夹路径\AbcMAC\ 3 SET …

在CSDN写文章头部生成标题目录

步骤: 1.点击帮助,再点击目录。 2.随后出现目录,再点击复制。 3.把你复制的东西粘贴到文章开头,将你想要作为目录的文字设置成为标题。注意:前面有几个井号键就是几级标题。 5.标题目录设置好之后,就可…

python中对文件进行读和写

Python读取文件Open方法常用形式主要参数注意对文件进行写对文件进行读Open方法 打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,出现OSError报错。 常用形式 两个参数&#xff…

UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position 14: illegal multibyte sequence

错误情况: 解决办法: 代码; f open("F:\自动化测试工具\Pycharm的项目\老狼.txt", "r", encoding"utf-8")https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏…

散列表(算法导论笔记)

散列表 直接寻址表 一个数组T[0..m-1]中的每个位置分别对应全域U中的一个关键字,槽k指向集合中一个关键字为k的元素,如果该集合中没有关键字为k的元素,则T[k] NIL 全域U{0,1,…,9}中的每个关键字都对应于表中的一个下标值,由实际…

Python的os模块常用文件夹的增删改查详解

python常用os模块增os.makedirs("path\\目录") 用于递归创建目录删os.remove("path")用于删除指定路径(path)的文件os.rmdir("path"),用于删除指定路径(path)的目录改os.rename() 方法用…

Python中常用的Python time模块常用函数

常用函数time.time()函数time.localtime() 函数time.mktime()函数time.strftime() 函数time.strptime() 函数time.sleep() 函数https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载&#xff0c…

SyntaxError: ‘return‘ outside function 在python里面的报错问题

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) Return需要放在函数里面 报错情况: 报错代码&…

python中的以简单例子解释函数参数、函数定义、函数返回值、函数调用

python-函数1.函数定义2.自定义函数,基本规则3.语法4.参数4.1必备参数4.2默认参数4.3不定长参数4.4匿名参数5.函数举例代码1.函数定义 函数是组织好的,可重复使用的,用来实现功能的代码段。 2.自定义函数,基本规则 1.以 def 关…

洛谷 P1330 封锁阳光大学题解

题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街。河蟹看到欢快的曹,感到不爽。河蟹决定封锁阳光大学,不让曹刷街。 阳光大学的校园是一张由N个点构成的无向图,N个点之间由M条道路连接。…

Python中的for i in range(range()函数的for循环)如何使用,详细介绍

range函数的for循环1.定义2.两种形式3.可理解性例子4.range函数的特性详述4.1 左闭右开4.2 开始值默认为04.3 步长值默认为14.4 range函数的反向输出5.与列表list的使用6.range与list的区别1.定义 range是一个函数,它返回的是一个可迭代对象,大多使用于…

SyntaxError: invalid syntax-python报错

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行! 如有转载,请注明出处(如不注明,盗者必究&#xf…