一,ADO.ENT的主要組件
提供兩個組件,用來訪問和處理數據:.NET Framework 數據程序和DataSet(數據集)
.NET Framework:是專門為數據處理及快速地只進,只讀訪問數據而設計的組件。使用它可以連接數據源,執行命令和檢索結果,直接對數據進行操作 。
DataSet:是專門為獨立於任何數據源的數據訪問而設計的。使用它,可以不必直接和數據源打交道,大批量地操作數據,也可以將數據綁定在控件上 。
.NET Framework 數據提供程序
.NET Framework 用於SQL Server的數據提供程序:提供對Microsoft SQL Server數據的訪問。使用System.Data.SqlClient 命名空間
.NET Framework 用於OLE DB 的數據提供程序:提供對OLE DB 公開的數據源中數據的訪問。使用System.Data.OleDb命名空間
.NET Framework 用於ODBC 的數據提供程序 :提供使用ODBC 公開的數據源中數據的訪問。使用System.Data.Odbc命名空間
一、建立數據庫連接
連接字符串的格式:"Server=服務器名或服務器IP地址;DataBase=數據庫名稱;User ID=用戶名;Pwd=密碼"
使用Connection對象連接SQL Server數據庫的方法如下:
using System.Data.SqlClient;引用namespace
......
SqlConnection con=new SqlConnection(連接字符串);
con.Open();
......
//數據庫相關操作
......
con.Close();
異常處理:
語法:
try{
//包含可能出現的異常代碼!
}catch(處理異常的類型){
//處理異常的代碼
}finally{
}
finally:無論是否發生異常,出現在finally塊中的語句都會執行。
操作數據
一、SqlCommand
表示要對 SQL Server 數據庫執行的一個 Transact-SQL 語句或存儲過程。 此類不能被繼承。Command類可以執行任何類型的SQL語句。
我們在使用其執行SQL語句的時候,必須首先聲明其對象,常用的三種:
SqlCommand() 初始化 SqlCommand 類的新實例。
SqlCommand(String) 用查詢文本初始化 SqlCommand 類的新實例。
SqlCommand(String,SqlConnection) 初始化具有查詢文本和 SqlConnection 的 SqlCommand 類的新實例。
【注】SqlConnection 的使用將不單獨講,因為在操作數據庫的時候都會用到。
CommandText 獲取或設置要對數據源執行的 Transact-SQL 語句、表名或存儲過程。
CommandType 獲取或設置一個值,該值指示如何解釋 CommandText 屬性。
Connection 獲取或設置 SqlCommand 的此實例使用的 SqlConnection。
Parameters 獲取 SqlParameterCollection(sql語句中需要輸入的闡述集合)。
ExecuteNonQuery 執行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 語句等命令並返回受影響的行數。
ExecuteReader() 將 CommandText 發送到 Connection 並生成一個 SqlDataReader。
ExecuteReader(CommandBehavior) 將 CommandText 發送到 Connection,並使用 CommandBehavior 值之一生成一個 SqlDataReader。
ExecuteScalar 執行查詢,並返回查詢所返回的結果集中第一行的第一列。 忽略其他列或行。
Dispose() 釋放由 Component 使用的所有資源。
二、SqlDataReader
提供一種從 SQL Server 數據庫讀取行的只進流的方式。 此類不能被繼承。只能向下順序執行,一次讀取一條記錄,所以需要隨時保存的記錄。
IsClosed 檢索一個布爾值,該值指示是否已關閉指定的 SqlDataReader 實例。
常用方法
Read() 使 SqlDataReader 前進到下一條記錄。
Close 關閉 SqlDataReader 對象。
Dispose() 釋放 DbDataReader 類的當前實例所使用的所有資源。
IsCommandBehavior 確定指定的 CommandBehavior 是否與 SqlDataReader 的對應項匹配。
IsDBNull 獲取一個值,用於指示列中是否包含不存在的或缺少的值。
對數據庫中的數據增刪改(使用Command對象的ExecuteNonQuery()方法)
ExecuteNonQuery()方法用於執行指定的SQL語句,如:update、insert、delete,它返回的是受SQL語句影響的行數
使用Command對象的ExecuteNonQuery()方法的步驟如下:
1. 創建Connection對象
2. 定義要執行的SQL語句
3. 創建Command對象
4. 執行ExecuteNonQuery()方法 注意:完成操作后不要忘記關閉conn對象。
5. 根據返回結果,進行后續處理,如返回值小於或等於0說明沒有記錄影響。