APP下载

浅谈基于ASP.NET平台下使用类库进行数据库编程

2009-04-21容湘萍

现代企业文化·理论版 2009年3期
关键词:类库调用代码

摘要:文章立足于实际应用,阐述了ADO.NET访问数据库的步骤,并利用较大篇幅对ASP.NET平台下使用类库进行数据库操作的方法进行了详细论述,并给出源代码和详细注释,文章给出的所有代码均在ASP.NET2.0下调试通过。

关键字:数据库;类库;调用

中图分类号:TP31文献标识码:A

文章编号:1674-1145(2009)05-0153-02

ASP.NET不是ASP的简单升级,而是全新一代的动态网页实现系统。它是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。它是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。ASP.NET在面向对象性、数据库连接、大型站点应用等方面都优于ASP,ASP.NET还提供更多的其他方面的新特性,例如:内置的对象缓存和页面结果缓存;内置的XML支持,可用于XML数据集的简单处理;服务器控制提供了更充分的交互式制等。

ASP.NET中的ADO.NET和ASP中的ADO相对应,它是ADO的改进版本。ADO.NET的最重要概念之一是DataSet。DataSet是不依赖于数据库的独立数据集合。(所谓独立,就是:即使断开数据链路,或者关闭数据库,DataSet依然是可用的。)如果你在ASP里面使用过非连接记录集合(Connectionless Recordset),那么DataSet就是这种技术的最彻底的替代品。在ADO.NET中,通过Managed Provider所提供的应用程序编程接口(API),可以轻松地访问各种数据源的数据,包括OLEDB所支持的和ODBC支持的数据库。

ADO.NET访问数据库的步骤是:

1.创建一个数据库链路;

2.请求一个记录集合;

3.把记录集合暂存到DataSet;

4.如果需要,返回第2步;(DataSet可以容纳多个数据集合)

5.关闭数据库链路;

6.在DataSet上作所需要的操作。

DataSet在内部是用XML来描述数据的。由于XML是一种平台无关、语言无关的数据描述语言,而且可以描述复杂数据关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。

按照上面的访问数据库的步骤方法,在需要对数据库进行操作时,只需按部就班的写出相关代码和参数就能比较容易的实现ADO.NET编程。但在进行大型软件开发时,如果每访问一次数据库,就对操作数据库的代码进行重复编写,则大大增加了程序代码的冗余度,降低了软件的可靠性和可读性。所以本文使用类库对数据库进行访问,将对数据库的操作代码进行简化。按照访问数据库的步骤,将相应的代码写入类中,在使用时直接调用相关的类,就可以实现对数据库的访问操作。

具体步骤如下:

首先创建一个类库DAL,在其中定义数据库的基类database:

public class database//数据库基类

{

public SqlConnection databaselink() //连接数据库

{

SqlConnection conn=new SqlConnection ();

conn.ConnectionString =ConfigurationSettings.AppSettings .Get ("connstr");

//通过web.config文件获取connstr作为conn连接字符串。

return conn;

}

public DataSet tablelink(string linkstr,SqlConnection conn)

//连接表,linkstr为连接字符串

{

SqlDataAdapter sda=new SqlDataAdapter(linkstr,conn);

DataSet ds= new DataSet();

try

{

sda.Fill (ds);

}

catch

{

Response.Write("");

}

return ds;

}

}

再创建另一个类库BUL,在其中定义操作数据库的类operatdatabase:

using dal;//调用数据库基类的命名空间

public class operatdatabase//操作数据库的类

{

public DataSet selecttable(string linkstr) //查询表,

{

database db=new database ();

SqlConnection conn=db.databaselink();

DataSet ds=new DataSet();

ds=db.tablelink(linkstr,conn);

return ds;

}

public void updatatable(string linkstr) //更新记录

{

database db=new database ();

SqlConnection conn=db.databaselink();

DataSet ds=new DataSet();

ds=db.tablelink(linkstr,conn);

}

public void datalist(DataGrid DataGrid1,string linkstr) //绑定数据

{

operatdatabase db=new operatdatabase() ;

DataSet ds=new DataSet();

ds=db.selecttable (linkstr);

DataGrid1.DataSource =ds.Tables[0] ;

DataGrid1 .DataBind ();

}

}

在需要进行数据库操作时,首先要调用操作数据库的类operatdatabase的命名空间BUL,然后再调用查询、更新和绑定数据库的相关函数。

using bul;

operatdatabaseop1=new operatdatabase() ;

//定义一个操作数据库的对象op1

op1.selecttable(string linkstr);

op1.updatatable(string linkstr);

op1.datalist(DataGrid DataGrid1,string linkstr);

//使用该对象的实例对数据库进行操作

在一般的信息管理系统程序中,如果使用类库进行数据库编程,则只需在数据库操作时反复调用操作数据库的类operatdatabase,定义一个关于该类的对象,使用相应的方法,就能减少相当多的重复代码,增加了程序的健壮性,大大提高了程序的可读性与移植性。

参考文献

[1]李万宝.ASP.NET技术详解与应用实例[M].机械工业出版社.

[2]郑霞,赵辉,徐慧.ASP.NET2.0编程技术与实例[M].人民邮电出版社.

作者简介:容湘萍,女,湖南邵东人,广东省惠州商业学校计算机助理讲师,研究方向:计算机应用。

猜你喜欢

类库调用代码
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
创世代码
创世代码
创世代码
创世代码
基于系统调用的恶意软件检测技术研究
利用RFC技术实现SAP系统接口通信