知識寶典之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數據庫讀取行的只進流的方式。
#T#如果要連接到微軟SQLServer數據庫,盡量使用SqlClient命名空間中的SqlConnection,SqlCommand,SqlDataReader類,如果與Oracle數據庫通信,應該使用OracleClient命名空間的類;與其它數據庫進行通信,就應該使用OleDB或ODBC命名空間的類。
一個簡單的ADO.NET連接模式的數據訪問例子:
- Code
- namespaceDawnDataObject
- {
- publicclassMovies//數據實體對象
- {
- publicstaticreadonlystring_connectionString;//連接數據庫字符串為靜態成員,每個實例共享。
- staticMovies(){
- _connectionString=WebConfigurationManager.ConnectionStrings["DawnEnterpriseDBConnectionString"].
- ConnectionString;
- }
- privatestring_title;
- privatestring_director;
- //Movies類中包括的屬性有Title、Director
- publicstringTitle{
- get{return_title;}
- set{_title=value;}
- }
- publicstringDirector{
- get{return_director;}
- set{_director=value;}
- }
- //Movies類中的GetAll方法返回一個List對象,該對象可以被GridView等控件做為數據源綁定
- publicList<Movies>GetAll()
- {
- List<Movies>result=newList<Movies>();
- SqlConnectionconn=newSqlConnection(_connectionString);
- SqlCommandcomm=newSqlCommand("selectTitle,DirectorfromMovies",conn);
- using(conn){//using關鍵字指定了conn一旦離開這個代碼段,自動調用其Dispose函數
- conn.Open();
- SqlDataReaderreader=comm.ExecuteReader();
- while(reader.Read()){
- Moviesnewmovie=newMovies();
- newmovie._title=(string)reader["Title"];
- newmovie._director=(string)reader["Director"];
- result.Add(newmovie);
- }
- returnresult;
- }
- }
- }