(1.中南大学 信息科学与工程学院, 湖南 长沙 410083;2.湖南科技学院 图书馆, 湖南 永州 425100)
ASP.NET 是一种建立在通用语言上的程式构架,能被用于一台 Web服务器来建立强大的 Web应用程式。ASP.NET提供许多比目前的Web研发模式强大的的优势。ASP.NET是Microsoft.NET的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本,是微软提供的新一代的Web开发平台,它为开发人员提供了一个统一的生成企业级Web应用程序所需要的服务、编程模型和软件基础结构。
ADO.NET提供了平台互用性和可伸缩的数据访问。是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。 它允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用 ODBC协议,许多新的数据源使用 OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。
ADO.NET主要包含以下对象:SqlConnection对象、SqlCommand对象、sqlDataReader对象、DataSet对象、SqlDataAdapter对象。与数据源进行交互的相关的公共方法都由这些对象提供。
C#语言是在C、C++和Java语言基础上重新构造的、语法与C++和Java语言都比较相似的、基于.NET框架的,一种完全面向对象的、类型安全的编程语言,也是.NET的首选编程语言。从开发效率来讲,C#语言为应用程序开发人员提供了快速的开发手段,但又不牺牲C++语言的特点和优势。从继承性来讲,C#语言在更高层次上重新实现了 C和 C++语言。从语法形式和易用性来讲,C#语言几乎综合了目前流行的所有高级语言的优点,提供了一种语法优雅、功能完善而又容易使用的外在表现形式。作为.NET的核心编程语言,c#为程序员提供快速便捷地创建基于Microsoft .NET平台的解决方案。
4.1 数据库常用操作具体分析
在WEB项目中经常会对数据库进行各种操作,经过分析会发现数据库常用的操作主要可分为三类:建立、关闭数据库的连接;执行没有返回值的SQL语句和存储过程;执行有返回值的SQL语句和存储过程。再对以上三种情况进行分析,第一类操作情况比较简单,主要有两种:建立连接数据库、关闭数据库的连接;第二类操作的情况:执行无返回值的SQL语句、执行执行无返回值的存储过程。第三种情况比较复杂,因为在具体的项目当中会根据不同的需要返回不同的数据类型的值,根据返回值类型的不同主要可分为以下几种情况:返回指定Sql语句的SqlDataReade、返回指定Sql语句的DataSet、返回指定Sql语句的DataTable等。以上只是简单分析了数据库常用操作,在后两种操作当中可以继续分为带参数和不带参数两种情况,情况更为复杂。
4.2 实现数据库操作通用类的必要性分析
在ASP.NET中利用C#语言开发任何WEB项目都离不开ADO.NET提供的数据库访问技术的支持。在以上分析中ADO.NET在具体的使用进行过程中情况却比较复杂,在不同的项目或者在同一项目的不同应用中可能会使用ADO.NET中不同的对象和不同的方法,为了适应不同的项目和不同应用的需要非常有必要利用 ADO.NET实现一个可移植的数据库操作通用类。
在对数据库常用操作进行具体分析之后,根据这些情况本文中使用C#语言建立一个SQL server数据库为例数据库通用操作类。
数据库通用操作类中主要方法有:建立与数据库连接的方法 openConnection、关闭与数据库连接的方法closeConnection、执行带参数存储过程 ExecutePorcedure、执行带参数SQL语句返回一个dataReader对象dataReader、执行带参数SQL语句返回dataTable对象dataTable、执行带参数SQL语句返回一个dataSet对象DataSet dataSet等,基本可以满足不同项目中的不同应用。
数据库通用操作类部分代码(C#)如下:
利用面向对象语言的方法重载等技术,数据库通用操作类考虑了输入参数个数不同、输入参数类型不通、有或者无返回值、有返回值但返回值类型不同等各种情况,可以满足ASP.NET中对数据库的各种操作的需求,在具体应用中只需要适当调用其中相应的方法即可,充分体现了面向对象程序设计的思想,大大提高代码分离程度和代码重用率,更加利于网站的后期维护和再开发。
[1]张丽.一个基于 ASP.NET的数据库操作类的设计与实现[J].华南金融电脑,2008.
[2]李勇平,陈峰波.ASP.NET(C#)基础教程[M].清华大学出版社,2006.