重构的时候就接触过ADO.NET,新闻发布系统的时候遇到了sqlhelp。学习ASP.NET的时候,老师又很详细的讲了。现在总结一下。
首先,ADO.NET提供了对sql server等数据库的访问。应用程序可以通过ADO.NET连接到数据库,并检索、操作、更新其中的数据。同时他是一组向.net编程人员公开数据访问服务的类。ADO。NET提供了对关系数据、XML和应用程序数据的访问,所以是.NET Framework不可或缺的一部分。
ADO.NET组件将数据访问和数据处理分离,他是通过俩个主要的组件:.NET数据提供程序和Dataset来完成这一操作的。
数据访问有俩种方法,一是通过DataReader对象来直接访问,另一个是通过DataSet对象和DataAdapter对象来访问。
.NET提供了四个数据提供程序:
SQL Server提供程序、 OLEDB提供程序、Oracle提供程序、ODBC提供程序
在这里,我们说的是 SQL Server提供程序。
.NET数据提供程序提供了四个对象:Connection Command DataReader DataAdapter
1、Connection:提供与数据源的连接
例子:
public static string ConnectionString=@"server=.;database=newssystem;uid=sa;pwd=123456";
在配置文件中,也可以用到他。
<add key="con" value="server=.;database=computer;uid=sa;pwd=123456;"> </add>为了获取配置文件中存储的数据库的连接字符串,我们需要使用using System . Data . SqlClient;
SqlConnection con = new SqlConnection(System . Configuration . ConfigurationManager . AppSettings["con"]);这样我们就创建了一个数据库连接对象,在执行任何数据库操作之前,我们还需要打开数据库。
2、Command:用于返回数据、修改数据、运行存储过程以及检索参数信息的数据库命令。也就是提供了对数据库操作命令的封装。具体的操作可以是我们的SQL语句,也可以是存储过程等。同时它是建立在数据库已经连接的情况下的。
在重构中,我们就知道了很多他的属性和方法,现在来归纳一下。
CommandText:类型为string,他可以是sql语句,也可以是存储过程或者是表等。
CommandType:类型为枚举类型,Text为sql语句,TableDirect为要读取的表,StoredProcedure
为存储过程(重构的时候敲了很多的这个词)
Connection:获取sqlconnection对象,使用该对象和数据库进行通信
SqlParameterCollection:提供给命令的参数
ExecuteNonQuery:执行没有返回值的sql语句
创建一个Command对象的方法:
SqlCommand mycommand = new SqlCommand(); mycommand . Connection = con ; mycommand . CommandText = "select * from User_info";或者是:
SqlCommand cmd=new SqlCommand ("select * from User_info",con);
使用Command命令,我们可以产生一个DataReader对象,DataReader对象可以将数据源的数据取出来并给使用者。
4、DataAdapter:提供连接Dataset对象和数据源的桥梁,使用command对象在数据源中执行sql命令,以便将数据加载Dataset对象中,并使对Dataset对象中数据的更改与数据源保持一致。
DataSet对象是另一个组件,他是专门为数据源的数据访问而设计的,所以他可以用于多个不同的数据源。DataSet对象包含一个或者多个DataTable对象的集合,这些对象都有数据行、列、主键、外键等,他就是一个内存中的数据库。
System.Data:提供对表示ADO.NET结构的类的访问
System.Data.SqlClient:用于Sql server的.NET数据提供程序
ADO.NET的理论学习是必不可少的环节,但是正正的把他弄的十分清楚的,还是我们在敲代码中的反复运用。 ADO.NET,学习必备!