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 详细配置教程地…

Linq 左连接 left join

var APPQuery aa.query(); var ValidQuery bb.query();var query from o in APPQueryjoin v in ValidQueryon o.Id equals v.Id into resultfrom r in result.DefaultIfEmpty()select new GetFlightDto{Calsign r.Calsign........}; ps: GetFlightDto 是定义好的类库&…

Python中对列表list进行定义、增删改查、遍历及与元组的对比

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

334. Increasing Triplet Subsequence

Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the array.Formally the function should:Return true if there exists i, j, k such that arr[i] < arr[j] < arr[k] given 0 ≤ i < j < k ≤ n-1 else return…

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

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

Linux下Rails3 + Lighttpd + fcgi部署研究

前言&#xff1a;为什么要研究Ruby on Rails的部署 学习Ruby on Rails已经一段时间了&#xff0c;一直使用自带的WEBrick服务器进行开发。 WEBrick是一款纯Ruby编写的服务器&#xff0c;使用方便&#xff0c;很适合开发环境下进行系统调试。但是它不支持多线程访问&#…

冒泡排序详解--python

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

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

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

字典超详细--python

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

ele-plus包的安装和使用

代码仓库 版本详细说明&#xff0c;请查看doc下面的版本文件 最新版本 v0.2.4 安装 npm install ele-plus -S 复制代码引入ElePlus 完整引入 import Vue from vue import ElementUI from element-ui import element-ui/lib/theme-chalk/index.css import App from ./App.vue im…

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

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

制作github博客

最近几天突发其想&#xff0c;想做一个GitHub的博客&#xff0c;链接https://imutang.github.io&#xff0c;然后决定先使用HUGO来制作我的第一个个人博客&#xff0c;编辑文字方面没有博客园这么方便 转载于:https://www.cnblogs.com/mutangchun/p/11363405.html

选择排序算法python

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

如此互联网?

共享单车已经到了尾声&#xff0c;ofo的处境一直遮遮掩掩&#xff0c;用户押金的真金白银却不知何时才能退回&#xff0c;遥遥无期。Mobike也一样&#xff0c;一直在亏本&#xff0c;持续投资依然无法换来其盈利。 记得几年前&#xff0c;开始注意到街上停有Mobike。记得曾和同…

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

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

Aveva Marine 新建项目001

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

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

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

《图片另存为JPG/PNG/WebP》让WebP图片下载为PNG格式

WebP是google推行的新的图片格式, 可以使用更小的空间,保存更清晰的图片, 但由于格式较新, Adobe Photoshop CC 2019 20.0.2版本都无法打开查看, 所以我们需要保存网页中的WebP图片为通用性较强png格式 我们可以使用一款扩展程序图片另存为JPG/PNG/WebP, 将WebP格式图片转换为p…

python中对文件进行读和写

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

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

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