摘要:这里所谓的自动调用是指调用存储过程的时候,不需要自己写代码来建立连接,添加过程参数等繁琐、无趣的代码工作。只需要把过程名、参数值按照顺序调用即可。
SqlHelper提供了可以自动调用存储过程的能力(当然还不止这一点能力),不过其实现比较复杂,支持的功能很多,对于一个只使用存储过程的项目来说,有点过度需要了。
一年多前我写过一个自动调用存储过程的类(仅支持存储过程调用),但是其性能会有一定的影响,每一次的调用都需要一次额外的调用从SQL Server取得过程的参数信息,并且建立参数。
其实,这个性能影响是可以消除的,在项目开发中可以采用这种性能消耗的方式;当项目结束后,可以把所有的过程及其参数信息都保存到一个xml文件中,并且保存在Application对象中(针对Web Application, WinForm可以另外保存在某个全局变量中),这样性能和以前就差不多了。
今天把这部分工作完成了,需要的可以在这里下载:
http://www.smartyouth.net/files/44.aspx
下载的内容包括两部分:
1。WinForm程序用来从SQL Server取得过程及其参数信息,并且保存成xml文件。
2。SqlProcedure.cs是实现自动调用的代码文件,把他复制到你的项目中即可。
说明:
1。在web.config的appsettings部分增加如下Key
SpParameterXmlFilePath,其值为保存参数信息的文件相对web application的相对路径。
2。这个程序也支持文件的上传、下载,GUID的支持还没有写;需要的话,看一下代码应该很容易就可以增加这个支持了。上传的文件传递给这个类的参数是HttpPostedFile。
3。这些代码主要是针对Web Application做的,如果是Win Forms需要做一些小小的改动,相信看看代码应该可以很快搞定的。...[
阅读全文]