net中统一的存储过程调用方法

时间:2010-02-04 13:03:46  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:来统一所有的存储过程调用,减少不必要的编程呢?在研究了SQL Server数据库及ASP.NET的基础上,我们实现了统一调用的方法,该方法只需要提供要调用的存储过程名,以及调用时提供具体的参数值就可实现任何存储过程的调用。       关键字:存储过程、系统表、信息结构视图、ADO.NET 文献标识码:②实用性技术成果报告(科技)、理论学习与社会实践总结(社科...
  正文:

 摘要:在各种系统开发中,使用存储过程是一个良好的习惯,不仅可以带来临时表、函数、游标等特性,而且调试、升级、维护都变得方便。可是,几乎所有的存储过程的调用都是一种模式,主要差别也就是每个存储过程的参数不同。那么,可不可以采用一种方法来统一所有的存储过程调用,减少不必要的编程呢?在研究了SQL Server数据库ASP/ target=_blank class=infotextkey>asp.NET的基础上,我们实现了统一调用的方法,该方法只需要提供要调用的存储过程名,以及调用时提供具体的参数值就可实现任何存储过程的调用。
  
   关键字:存储过程、系统表、信息结构视图、ADO.NET 文献标识码:②实用性技术成果报告(科技)、理论学习与社会实践总结(社科)
  
  
  Call stored procedures in a same way in .NET
  Abstract: Using stored procedures is a good habit in developing projects. It provides temporary table, functions and cursors, and debugging, upgrading, maintainence can benefit from it too. However, almost all calling to a stored procedure is a same pattern, the main difference between them is the parameters of every stored procedure. Then, can we call stored procedure in a same way in spite of their differences and reduce the programming code. We did it after studying SQL Server and .NET. Only information you provide is the stored procedure name and the values of its parameters, you needn’t to create the parameters yourself. Key word: Stord Procedure, System table, Information Schema, ADO.NET
  
  摘要:在一个项目的开发中,经常会调用数据库中的存储过程。可是,几乎所有存储过程的调用都是同一个模式,主要区别就在于创建的每个参数类型、值等不一样。那么,能不能实现通过一个函数(或者类)调用所有的存储过程呢?本文在利用数据库提供的系统表原理上,实现了统一调用的方法,该方法只需要提供要调用的存储过程名,以及调用时提供具体的参数值就可实现任何存储过程的调用。
  
  Abstract: We have to call stored procedures of database systems during a development of a project. However, calling a stored procedures are almost the same, the main difference is the difference between parameters’ type or value etc. Can we call any stored procedures through a functio 
n (or a class)? Based on the system tables provided by database systems, We wrote a class to call any stored procedures in this article. To call a stored procedure, the only parameters you provide are the name of the stored procedure and the value of all parameters of the stored procedure.
  
  <DIV class=text4><B>1.引言</B></DIV>
  在各种系统开发中,使用存储过程是一个良好的习惯,不仅可以带来临时表、函数、游标等特性,而且调试、升级、维护都变得方便。在存储过程中能够把数据经过处理再返回,这样能够对数据提供更多的分析和控制。在存储过程的调用中,我们发现存储过程的调用都几乎是如下的模式:
  
  1.声明SqlConnection
  2.声明SqlCommand,并且设置其Connection属性为刚声明的SqlConnection实例,设置CommandName为存储过程名,CommandType为存储过程。
  3.往刚声明的SqlCommand实例的Parameters集合中添加所有的存储过程调用需要的参数 4.呼叫SqlCommand的ExecuteReader()方法来得到存储过程的返回行集
  4.声明SqlDataAdapter和DataSet,设置SqlDataAdapter的SelectCommand属性为3中声明的实例,再调用其Fill方法来把返回的行集填充到DataSet中
  5.关闭SqlConnection对象
  6.释放声明的各对象实例(说明:4指的是两种数据提取方法)在这个调用过程中,我们发现几乎所有的存储过程调用都是这个模式,之间的区别就在第2步中的存储过程名不同和第3步中各个存储过程调用使用的参数是不一样的,他们有参数名字、方向、数据类型、长度等的区别。那么,有没有一种方法可以实现所有的存储过程调用?即只需要提供存储过程名,然后把参数值传入调用方法即可实现存储过程的调用,再用某些数据结构来保存返回的行集、传出参数值、过程返回值。经过研究SQL Server的系统表,我们发现这个想法是切实可行的。
  
  2.系统表与信息结构视图
  SQL Server等关系型数据库都将元数据以某种方式保存在数据库中,在SQL Server中就是系统数据库和系统表。安装SQL Server后会自动生成四个系统数据库:master, model, msdb与tempdb。master数据库是SQL Server中所有系统级信息的仓库。登录帐号、配置设置、系统存储过程和其他数据库的存在性都记录在master数据库中。msdb数据库保存SQL Server Agent的信息。定义作业、操作员和警报时,他们存放在msdb中。model是个模框,用于所有用户生成的数据库。生成新数据库时,将model复制,建立所要的对象。tempdb保存SQL S

"net中统一的存储过程调用方法"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/12773.html


关键字:

关于《net中统一的存储过程调用方法》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td