没有合适的资源?快使用搜索试试~ 我知道了~
.net创建存储过程函数
4星 · 超过85%的资源 需积分: 13 7 下载量 31 浏览量
2011-01-21
15:06:58
上传
评论
收藏 431KB DOCX 举报
温馨提示
试读
11页
.net创建存储过程函数, 注意只是文档,不是代码!!
资源详情
资源评论
资源推荐
通常,开发人员使用的是 T-SQL 来创建 SQL Server 的存储过程、函数和触发器。 而
现在的 SQL Server 2005 已经完全支持.NET 通用语言运行时(CLR)了。 这就意味着,
你可以使用.NET 的语言,如 C#、VB.NET 之类的来开发 SQL Server 的存储过程、函数
和触发器。 SQL Server 和 CLR 的集成给我们带来了 n 多好处,如实时编译、类型安全、
增强的安全性以及增强的编程模型等。 本文中,我将向大家演示如何使用 C#创建 SQL
Server 的存储过程。
背景
我们在使用 SQL Server 存储过程时,最常做的工作就是从数据库中读取或保存数据。
其常用应用如下:
◆执行一些简单的逻辑,没有任何返回值。 也没有输出参数。
◆执行一些逻辑,并通过一个或更多的输出参数返回结果。
◆执行一些逻辑,并返回从表中读取的一条或多条记录。
◆执行一些逻辑,并返回一行或多行记录。 这些记录不是从表中读取的,而是你自定义的
一些数据行。
为了演示如何用 C#开发出这几种应用的 SQL Server 存储过程,我将一个一个地举
出示例。
启用 CLR 集成
在你开始用 C#写存储过程之前,必须要启用你的 SQL Server 的 CLR 集成特性。 默
认情况它是不启用的。 打开你的 SQL Server Management Studio 并执行如下脚本。
sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO
如果上面的命令在执行过程中出现“不支持对系统目录进行即席更新 ”的错误
时
sp_configure 'clr enabled', 1
GO
RECONFIGURE with override
GO
这里,我们执行了系统存储过程“sp_con$gure”,为其提供的两个参数分别为:“clr
enabled”和“1”。如果要停用 CLR 集成的话也是执行这个存储过程,只不过第二个参数要
变为“0”而已。另外,为了使新的设置产生效果,不要忘记调用“RECONFIGURE”。
SQL Server 项目
现在打开 Visual Studio,并从文件菜单中选择“新建项目”。 在“新建项目”对话框中选
择“Visual C#”下的“Database”。 然后选择“SQL Server 项目”模板。
起好项目名称后就单击“确定”按钮。
很快,你所创建的项目就要求你选择一个 SQL Server 数据库。
按照提示一步一步地做就好了,就算你选择了取消,也可以在“项目”–“属性”对话框中
再一次选择数据库。 举个例子,假如你的电脑上有一个“北风贸易”数据库,那么就在“新建
数据库引用”对话框中选中它,然后单击“确定”按钮。 之后,SQL Server 项目在部署的时
候就会将我们开发的存储过程写入这个数据库(继续往后看你就清楚是怎么回事了)。
接下来,右键单击你新建的这个项目,选择“添加”-“存储过程”。 然后将会出现如下图
所示的对话框:
选择“存储过程”模板,并起一个合适的名字,然后单击“添加”按钮。
添加完后你就会发现,实际上这是创建了一个已经导入了需要用到的命名空间的类。
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
注意一下加粗显示的命名空间(译者注:后两个 using)。 System.Data.SqlTypes
命名空间包含了很多不同的类型,它们可以用来代替 SQL Server 的数据类型。
Microsoft.SqlServer.Server 命名空间下的类负责 SQL Server 的 CLR 集成。
说明:本程序操作“北风贸易”数据库,“订货主档”表,表内含有的字段依次是:订单号码
(int),送货城市(nvarchar(15)) …其他字段省略。
没有返回值的存储过程
在这一节中,我们将会看到如何写一个执行了一些逻辑,但是却没有任何返回值和输
出参数的存储过程。 在这个例子里,我们将创建一个名为“ChangeCityName”的存储过
程,它用来修改“订货主档”表中“送货城市”字段的值。 这个存储过程需要两个参数 –ID(需
要更改“送货城市”的“订单号码”ID)和 City(新的“送货城市”)。 “ChangeCityName”存
储过程完成后的代码如下:(Procedure1)
[Microsoft.SqlServer.Server.SqlProcedure]
public static void ChangeCityName(SqlInt32 ID, SqlString City)
剩余10页未读,继续阅读
marsgamer
- 粉丝: 5
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1