存储过程的调用

简介:

asp.net中我们经常会和数据库打交道,也就会用到很多sql语句和存储过程,直接使用sql语句会给我们带来一些安全性问题,比如sql注入,存储过程在程序中执行效率高,安全性高,且使用的资源比较少,存储过程建立好以后,实际上已经编译好了且存储在数据库中,而sql语句,写好之后需要先执行再编译,因此比较消耗资源,其以上优势在程序员调用时,可以节省大量时间,给程序员效率的提升,可见在.NET开发中的分量。

   在调用存储过程之前必须要做的是添加引用语句:using system.data.sqlclient,要在程序中访问数据库,一般的步骤是首先声明一个数据库连接SqlConnection,然后声明一个数据库命令SqlCommand,用来执行 SQL语句和存储过程。先看实例:

1,执行没有参数的存储过程:

SqlConnection conn=new SqlConnection(“connectionString”);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = conn;
da.SelectCommand.CommandText = "NameOfProcedure";
da.SelectCommand.CommandType = CommandType.StoredProcedure;

解释:创建连接对象,实例化适配器对象,达到一些数据并添加到数据集dataset中,命令语句NameOfProcedure就是存储过程名称,命令类型CommandType.StoredProcedure为存储过程,完成调用后就可以与相关表格绑定即可。

2,下面执行的时代参数的存储过程

SqlConnection conn=new SqlConnection(“connectionString”);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = conn;
da.SelectCommand.CommandText = "NameOfProcedure";
da.SelectCommand.CommandType = CommandType.StoredProcedure;

(与1中的代码完全相同,一下为添加的)

param = new SqlParameter("@ParameterName", SqlDbType.DateTime);
param.Direction = ParameterDirection.Input;
param.Value = Convert.ToDateTime(inputdate);
da.SelectCommand.Parameters.Add(param);

仔细看你会发现这和我们利用sql语句连接数据库时,实行的参数化大致相同,唯一多的就是参数的进出方向即:param.Direction = ParameterDirection.Input;输入方向。首先是new一个参数实例 param 并指明其方向,就是所说的输出输入参数,然后通过转换为param指定值,然后就是把这个param作为参数添加到命令语句中。

通过调用存储过程,可以发现提高了程序员的开发速度,节省了开发时间,对代码的维护更加容易,同时减少系统的大小,提高了执行效率,所以说在现实开发中存储过程的实用价值也是可以肯定的。



本文转自shenzhoulong  51CTO博客,原文链接:http://blog.51cto.com/shenzhoulong/441260,如需转载请自行联系原作者

相关文章
|
10月前
|
存储 SQL NoSQL
第15章_存储过程与函数
第15章_存储过程与函数
86 0
|
存储 SQL NoSQL
存储过程与函数
MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可
存储过程与函数
|
存储
调用、查看、修改、删除存储过程和函数
调用、查看、修改、删除存储过程和函数
102 0

热门文章

最新文章