随着ADO.NET的普及使用,ADO.NET在功能上也有了很大的提升,在网上收集了很多资料,现在和大家一起分享一下。ADO.NET框架支持两种模式的数据访问:连接模式(Connected)和非连接模式(disconnected)。这一节介绍如何使用连接模式访问数据库中的数据,利用ADO.NET中的Connection,Command,DataReader来获取和修改数据库中的数据
ADO.NET连接模式的数据访问
ADO.NET连接模式的数据访问要使用到的三个核心类: ◆IDBConnection:表示数据源的连接,所有Connection类的基类,SqlConnection实现了IDBConnection接口,用来与SQLServer数据源进行连接 ◆DBCommand:表示所有Command类的基类,SqlCommand实现了IDBCommand接口,与来对SQLServer数据库执行的一个Transact-SQL语句或存储过程 ◆DataReader:所有DataReader类的基类,SqlDataReader实现了IDataReader接口,提供一种从SQLServer数据库读取行的只进流的方式。
如果要连接到微软SQLServer数据库,尽量使用SqlClient命名空间中的SqlConnection,SqlCommand,SqlDataReader类,如果与Oracle数据库通信,应该使用OracleClient命名空间的类;与其它数据库进行通信,就应该使用OleDB或ODBC命名空间的类。
?
一个简单的ADO.NET连接模式的数据访问例子:
- Code ?
- namespace DawnDataObject ?
- { ?
- publicclassMovies//数据实体对象 ?
- { ?
- public static readonlystring_connectionString;//连接数据库字符串为静态成员,每个实例共享。 ?
- ?
- static Movies()
- { ?
-
_connectionString = WebConfigurationManager.ConnectionStrings["DawnEnterpriseDBConnectionString"]. ?
- ConnectionString; ?
- } ?
- ?
- privatestring_title; ?
- privatestring_director; ?
- ?
- //Movies类中包括的属性有Title、Director ?
- public string Title
- { ?
- get{return_title;} ?
-
set{_title=value;} ?
- } ?
- public string Director
- { ?
- get{return_director;} ?
-
set{_director=value;} ?
- } ?
- ?
- //Movies类中的GetAll方法返回一个List对象,该对象可以被GridView等控件做为数据源绑定 ?
-
public List<Movies> GetAll() ?
- { ?
-
List<Movies> result=new List<Movies>(); ?
-
SqlConnection conn=newSqlConnection(_connectionString); ?
-
SqlCommand comm=newSqlCommand("selectTitle,DirectorfromMovies",conn); ?
- using(conn) //using关键字指定了conn一旦离开这个代码段,自动调用其Dispose函数
- {
- conn.Open(); ?
-
SqlDataReader reader=comm.ExecuteReader(); ?
- while(reader.Read())
- { ?
-
Movies newmovie=new Movies(); ?
-
newmovie._title=(string)reader["Title"]; ?
-
newmovie._director=(string)reader["Director"]; ?
- result.Add(newmovie); ?
- } ?
- returnresult; ?
- } ?
- } ?
- } ?
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|