微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ADO.NET了连接模式

随着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连接模式的数据访问例子:

 
 
  1. Code  
  2. namespace DawnDataObject  
  3. {  
  4. publicclassMovies//数据实体对象  
  5. {  
  6. public static readonlystring_connectionString;//连接数据库字符串为静态成员,每个实例共享。  
  7.  
  8. static Movies()
  9. {  
  10. _connectionString = WebConfigurationManager.ConnectionStrings["DawnEnterpriseDBConnectionString"].  
  11. ConnectionString;  
  12. }  
  13.  
  14. privatestring_title;  
  15. privatestring_director;  
  16.  
  17. //Movies类中包括属性有Title、Director  
  18. public string Title
  19. {  
  20. get{return_title;}  
  21. set{_title=value;}  
  22. }  
  23. public string Director
  24. {  
  25. get{return_director;}  
  26. set{_director=value;}  
  27. }  
  28.  
  29. //Movies类中的GetAll方法返回一个List对象,该对象可以被GridView等控件做为数据源绑定  
  30. public List<Movies> GetAll()  
  31. {  
  32. List<Movies> result=new List<Movies>();  
  33. sqlConnection conn=newsqlConnection(_connectionString);  
  34. sqlCommand comm=newsqlCommand("selectTitle,DirectorfromMovies",conn);  
  35. using(conn) //using关键字指定了conn一旦离开这个代码段,自动调用dispose函数
  36. {
  37. conn.open();  
  38. sqlDataReader reader=comm.ExecuteReader();  
  39. while(reader.Read())
  40. {  
  41. Movies newmovie=new Movies();  
  42. newmovie._title=(string)reader["Title"];  
  43. newmovie._director=(string)reader["Director"];  
  44. result.Add(newmovie);  
  45. }  
  46. returnresult;  
  47. }  
  48. }  
  49. }  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐