ado.net基础
时间:2010-11-21 来源:风云Fyun
ado.net为不同数据源提供了不同的数据提供程序.对特定的提供程序进行了优化。但所有提供程序都是基于相同的接口实现的。
ado.net中分为两大对象:
基于连接的对象(具有具体的数据源):
Connection,command,datareader,dataadapter.
基数内容的对象(完全和数据源独立):
dataset,datatable ,datarow, datacolumn, datarelation.
1.connection类
connection类用于连接和关闭数据库. 在每次对数据库进行操作前必须用connection对象打开数据库连接,才能对数据库进行操作。
在使用connection类时,需要要给它提供一个连接字符,以指定连接那个服务器的那个数据库以及用何种方式访问数据库.
连接字符串以一组以;号相隔的键值对组成。一把要把连接字符放置在web.config中的<connectionstring>节,然后在程序中使用webconfigrurationManager.connectionstring属性来读取.
在声明数据提供对象时,一把我把包在一个using块中,这样能及时释放资源:
using(sqlconnection conn = new sqlconnetion(strconn))
{
do something
}
2.command对象
在使用command对象执行命令前,需要给它设置这么几个必须的参数:commandtext,commandtype,并且把它与connection对象进行绑定.如果是执行带参数的sql语句或是存储过程,还需要设置它的Parameters属性。
command对象的几个方法:
executeNonQuery()执行非select语句,返回受影响的行数,并不返回结果集.
executeScalar()执行一个select查询,放回结果集中的第一行的第一列的值,一般用于sum,count之类的聚合查询.
executeReader()执行一个select语句,放回datareader对象.
3.datareder对象
dataredder对象以之读的方式每次读取一条select语句返回的结果集中的一条记录.
datareader的几个方法:
read()方法回从执行返回的结果集的第一条记录开始读取,它返回一个bool值,指示是否还有记录。一般使用这种方式来读取datareader中的数据.
while(dataraderObjcet.read())
{
do something
}
还可以把command.executereader对象的返回的datareader对象绑定到一个数据源:
gridview.datasourece = command.executereader();
gridview.databing();