基于ASP.NET的ADO.NET技术研究

2014-05-30 10:48肖亚红
电脑知识与技术 2014年9期

肖亚红

摘要:该文从当前软件开发行业中的常用语言说起,阐述了ADO.NET的常用对象及其技术使用,并以访问SQLServer 数据库为例探讨了ADO.NET对象在实际开发中的编程技术。

关键词:ASP.NET;ADO.NET;数据库编程

中图分类号:TP313 文献标识码:A 文章编号:1009-3044(2014)09-1950-02

Research on ADO.NET Technology Based on ASP.NET

XIAO Ya-hong

(Hunan Automotive Engineering of Career Academy (Zhuzhou Professional Technology College), Zhuzhou 412001,China)

Abstract: This article from the current commonly used languages within the software development industry speaking, describes the use of ADO.NET's common object and its technology, and to access the SQLServer database as an example of the ADO.NET object in the development of practical programming technology.

Key words: ASP.NET; ADO.NET; database programming

1 ASP.NET简介

随着互联网技术的发展和以网站为载体的网络信息的广泛传播,越来越多的企事业单位开始注重自身推广网站的建设,网站建设与开发技术已经成为目前计算机专业技术人员必须掌握的技能之一。随着动态网站开发技术的发展现在比较流行的有ASP.NET、JSP、PHP、ASP动态网站开发技术,ASP.NET 是一种程序设计语言,使用VS开发平台,与微软数据库配合使用,建立强大的Web应用程序。ASP.NET具有以下特点:

1)执行效率较高。ASP.NET程序是在服务器端编译运行,不是一行行解释完成的。

2)用Microsoft公司最新的产品 Visual Studio.NET开发环境进行开发,能够实现夸平台的操作。具有强大的适应性,灵活性。

3简单性和易学性,ASP.NET提供了大量的服务器控件,且主要是由C#语言进行开发,面向对象的C#比VB功能更强大,且易学易用。

4)多处理器环境的可靠性高效可管理性,增强了开发的可靠性,高效性,易维护性。

2 ADO.NET与其常用对象

ADO是一种专门用于对数据源文件进行读写操作的一种技术,它为用户提供了一组用于和数据源进行交互的面向对象的框架类库,利用这些类库可以方便地访问各种数据库,如企业及数据库Oracle、SQL Server、DB2,桌面数据库Access等。实现数据的增、删、改、查,甚至是文本文件、Excel表格或者XML文件也可以进行处理。

ADO.NET提供了五个非常重要的组件,Connection,Command,DataReader,DataAdapter,DataSet,这些组件分别可以连接数据源、对数据源执行SQL命令、对数据源中的数据提取并显示、缓存数据等等操作。

2.1 Connection组件,负责对数据库进行连接操作

Connection对象的功能是与数据库之间建立连接,只有成功连接上了数据库,才能和数据库进行通信交互。连接时,需要提供数据库服务器的名称或地址、数据库名称、用户名、用于登录数据库的密码等, Connection对象成功连接数据库后,就可以通过command对象对数据库执行SQL命令语句。在对数据源的操作中,它是最重要的对象,无论对数据源的增、删、改、查等操作,都必须要首先与数据库成功建立连接,它是程序与数据库之间交流的一座桥梁。

2.2 Command对象,主要负责对数据库执行相应SQL命令

与数据库建立连接后,利用Command对象的常用方法就可以完全操控数据源了。对数据库的基本操作如查询、增加、修改、删除等指令,以及执行数据库中的存储过程和函数就变得更加容易。Command对象对于数据库操作最常用的方法有ExecuteReader方法,用于连线式读取一个表的记录,但是不能进行写入操作; ExecuteNonQuery方法,可以对数据进行读写的双向操作。 可以实现插入记录,修改记录,删除记录操作;ExecuteScalar方法,只能读取到一条数据记录,当查询的结果里只有单值时方便使用。

2.3 DataReader对象,负责执行SQL命令,将查询的结果保存

在数据库的操作中,当需要按顺序来读取数据库中的记录时,可以使用DataReader对象,它可以按要求从数据库中每次取一条记录,并且是从上至下循环读取,直至末尾记录为止。这种读取的优点是节省资源,效率高。

2.4 DataAdapter对象,也叫数据适配器,是数据集和数据库之间联系的桥梁

DataAdapter对象主要用于提取数据源中的数据,并将这些数据放到DataSet对象的DataTable中,它是一块虚拟的内存表,还可以将数据的改动写回到数据库,他的操作不需要通过ADO.NET中的Command对象来执行。DataTable是DataSet对象的操作核心,是这个对象与数据库之间进行沟通的桥梁。

2.5 DataSet对象,即数据集,用来保存数据库中读取的记录

DataSet对象是数据在内存中的表示形式,他可以把数据库中需要查询到的数据全部保留起来,包括整个数据库。由于他在对数据库进行操作后,就立即断开与数据库的连接,所以执行效率比较高,所以可以使用这个对象及时高效地访问和操作数据库中的数据。

3 基于ADO.NET的数据库编程

在ASP.NET中数据的访问一般要经过以下几个步骤:1)定义连接;2)定义command 对象;3)定义DataReader 对象实现对记录直进的读写操作或是用DataAdapter和DataSe配合实用实现数据表的读操作。如果是插入记录,修改记录,删除记录则指需调用command的相应方法。

下面,以在ASP.NET开发中,连接SQLSERVER数据库学生管理数据库(stu)为例进行数据库表记录的读取操作,了解ADO.NET对象的使用。

在VS2008中建立一个网站,建立两个WEB页,同时将数据库stu附加在数据库中。对应代码窗口编辑状态导入命名空间,即using System.Data.SqlClient。

using System.Data.SqlClient;

protected void Page_Load(object sender, EventArgs e)

{string name = TextBox1.Text;

SqlConnection sqlstr = new SqlConnection("Data Source=.;Initial Catalog=stu;User ID=sa;Password=123456");

SqlCommand cmd = new SqlCommand("select * from users where sname='"+name+"'", sqlstr);

sqlstr.Open();

SqlDataReader dr=cmd.ExecuteReader();

GridView1.DataSource = dr;

GridView1.DataBind();

sqlstr.Close();}

以上用代码实现了对学生数据库STU中用户表users的查询操作,并将结果显示在GridView控件中。

以下代码同样实现了对数据表users的查询操作。只不过,此处用的ADO.NET中的SqlDataAdapter和数据集DataSet配合使用。

protected void Page_Load(object sender, EventArgs e)

{ SqlConnection sqlconstr = new SqlConnection("Data Source=.;Initial Catalog=stu;User ID=sa;Password=123456");

SqlCommand cmd = new SqlCommand("select * from student", sqlconstr);

DataSet ds=new DataSet();

SqlDataAdapter da = new SqlDataAdapter(cmd);

da.Fill(ds);

GridView1.DataSource = ds;

GridView1.DataBind();}

以上两个案例表明了数据库的操作的一般步骤,及数据查询操作的两种方法,用SqlDataReader属于连线式操作,用SqlDataAdapter和DataSet对象配合使用是离线式操作,具体采用哪种方法,作者可以根据实际情况着情使用。