【ASP.Net】ADO.Net说明及常用对象介绍

说明

ADO.Net 是一个COM组件库,定义了一套用于访问数据库的标准,这个标准以接口的形式提供。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。

ADO.NET除了提供链接式数据访问技术之外,也提供了另外一种开放式方法,那就是在内存中模拟一个数据(DataSet),一个内存中的数据库(DataSet)可以包含多个在内存中的表(DataTable)和内存中的视图(DataView),并且也允许在表存在一些关系(DataRelation)。同时在一个内存中的表(DataTable)或者内存中的视图(DataView)中也允许存在行(DataRow)和列(DataColumn) 。

一、Connection对象、Command对象和DataReader对象

connection 对象

数据库连接对象!

command对象

数据库命令对象,执行添加、删除、修改、查询数据的操作命令。也可用来执行存储过程。

Command 主要有三个方法:

  • ExecuteNonQuery () :执行一个 SQL 语句,返回受影响的行数,这个方法主要用
    于执行对数据库执行增加、更新、删除操作,注意查询的时候不是调用这个方法。

  • ExecuteReader ():执行一个查询的 SQL 语句,返回一个 DataReader 对象。

  • ExecuteScalar ():从数据库检索单个值。这个方法主要用于统计操作。

DataReader对象

读取行的只读流的方式,绑定数据时比使用数据集方式性能要高。DataReader 对象不能通过直接实例化,必须借助与相关的 Command 对象来创建实例,例如用 SqlCommand 的实例的 ExecuteReader()方法可以创建SqlDataReader 实例。

DataReader对象读取数据是需要与数据库保持连接,所以在使用完之后应该立即调用他的Close()方法关闭,并关闭与之相关的Connection对象。

二、DataAdapter对象、DataSet对象与DataTable对象

DataAdapter 对象

作为一个数据集与数据源数据交换的媒介,利用数据库链接对象。

他的selectCommand属性是一个command对象,他从数据源中检索数据,(Connection)连接的数据源,使用数据库命令对象(Command)规定的操作从数据源中检索出数据送往数据集对象(DataSet),或者将数据集中经过编辑后的数据送回数据源。

他的fill方法用于使用DataAdapter的selectcommand的结果来填充DataSet。

dataAdapter1.Fill(dataSet11, "Products");//填充dataSet11数据集中的"Products"表

注意:一个数据集中可以放置多张数据表。但是每个数据适配器只能够对应于一张数据

DataSet对象

DataSet 对象也称为数据集对象,DataSet 对象用于表示那些储存在内存中的数据,它相当于一个内存中的数据库。它可以包括多个 DataTable 对象及 DataView 对象。 DataSet主要用于管理存储在内存中的数据以及对数据的断开操作。

	//供前台页面调用的方法,这个方法必须是protected或者public
	protected void ShowData()
	{
	//实例化Connection对象
	SqlConnection connection = new SqlConnection("Data Source=(local);Initial
	Catalog=AspNetStudy;Persist Security Info=True;User ID=sa;Password=sa");
	//实例化Command对象
	SqlCommand command = new SqlCommand("select * from UserInfo where sex=0",
	connection);
	SqlDataAdapter adapter = new SqlDataAdapter(command);
	/*
	下面的被注释掉的代码与上面的代码是等效的
	SqlDataAdapter adapter = new SqlDataAdapter("select * from UserInfo where sex=0",
	connection);
	*/
	DataTable data = new DataTable();
	adapter.Fill(data);
	/* 下面的被注释掉语句与上面填充DataTable的效果是一样的,我更倾向于没有注释掉的部分
	DataSet ds = new DataSet();//实例化DataSet
	adapter.Fill(ds, "UserInfo");//填充ds中的"UserInfo"表
	DataTable data = ds.Tables["UserInfo"];
	*/
	for (int i = 0; i < data.Rows.Count; i++)
	{
	Response.Write("<tr><td>" + data.Rows[i]["UserId"].ToString() + "</td>");
	Response.Write("<td>" + data.Rows[i]["UserName"].ToString() + "</td>");
	Response.Write("<td>" + data.Rows[i]["RealName"].ToString() + "</td>");
	Response.Write("<td>" + data.Rows[i]["Age"].ToString() + "</td>");
	//下面是按照列顺序直接读取值,并且根据值来判断最终显示结果
	Response.Write("<td>" + (bool.Parse(data.Rows[i]["Sex"].ToString()) == true ? "男" :
	"女") + "</td>");
	//根据列顺序读,列的值需要做相应转换
	Response.Write("<td>" + data.Rows[i]["Mobile"].ToString() + "</td>");
	//根据列名来读取,列的值需要做相应转换
	Response.Write("<td>" + data.Rows[i]["Phone"].ToString() + "</td>");
	Response.Write("<td>" + data.Rows[i]["Email"].ToString() + "</td></tr>\n");
	} 

DataTable对象

核心对象。它主要包括 DataRow 和 DataColumn,分别代表行和列。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值