sqlconnection,sqlcommand,SqlDataAdapter ,ExecuteNonQuery,ExecuteScalar
sqlconnection:表示 SQL Server 數據庫的一個打開的連接。SqlConnection 對象表示與 SQL Server 數據源的一個唯一的會話。 在客戶端/服務器數據庫系統中,它等效于一個到服務器的網絡連接。 SqlConnection 與 SqlDataAdapter 和 SqlCommand 一起使用,以便在連接到 Microsoft SQL Server 數據庫時提高性能。http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnection
sqlcommand:表示要對 SQL Server 數據庫執行的一個 Transact-SQL 語句或存儲過程。 此類不能被繼承。當創建 SqlCommand 的實例時,讀/寫屬性將被設置為它們的初始值。http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.aspx
SqlDataAdapter :表示用于填充 DataSet 和更新 SQL Server 數據庫的一組數據命令和一個數據庫連接。 此類不能被繼承。 是 DataSet 和 SQL Server 之間的橋接器,用于檢索和保存數據。 SqlDataAdapter 通過對數據源使用適當的 Transact-SQL 語句映射 Fill(它可更改 DataSet 中的數據以匹配數據源中的數據)和 Update(它可更改數據源中的數據以匹配 DataSet 中的數據)來提供這一橋接。 更新是逐行進行的。 對于每個已插入、修改和刪除的行,Update 方法會確定已對其執行的更改的類型(Insert、Update 或 Delete)。 根據更改類型,執行 Insert、Update 或 Delete 命令模板將已修改的行傳播給數據源。 當 SqlDataAdapter 填充 DataSet 時,它為返回的數據創建必需的表和列(如果這些表和列尚不存在)。 但是,除非 MissingSchemaAction 屬性設置為 AddWithKey,否則這個隱式創建的架構中不包括主鍵信息。 也可以使用 FillSchema,讓 SqlDataAdapter 創建 DataSet 的架構,并在用數據填充它之前就將主鍵信息包括進去。http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqldataadapter.aspx
ExecuteNonQuery:主 要用于更新數據,通常它使用Update,Insert,Delete語句來操作數據庫,其方法返回值意義:對于 Update,Insert,Delete 語句 執行成功是返回值為該命令所影響的行數,如果影響的行數為0時返回的值為0,如果數據操作回滾得話返回值為-1,對于這種更新操作 用我們平時所用的是否大于0的判斷操作應該沒有問題而且比較好,但是對于其他的操作如對數據庫結構的操作,如果操作成功時返回的卻是-1,這種情況跟我們 平時的思維方式有點差距所以應該好好的注意了,例如對數據庫共添加一個數據表的Create操作,當創建數據表成功時返回-1,如果操作失敗的話(如數據表已經存在)往往會發生異常,所以執行這種操作時最好用try--catch--語句來容錯
SqlDataReader:提供一種從 SQL Server 數據庫讀取行的只進流的方式。此類不能被繼承
若要創建 SqlDataReader,必須調用 SqlCommand 對象的 ExecuteReader 方法,而不要直接使用構造函數。
在使用 SqlDataReader 時,關聯的 SqlConnection 正忙于為 SqlDataReader 服務,對 SqlConnection 無法執行任何其他操作,只能將其關閉。 除非調用 SqlDataReader 的 Close 方法,否則會一直處于此狀態。 例如,在調用 Close 之前,無法檢索輸出參數。
SqlDataReader 的用戶可能會看到在讀取數據時另一進程或線程對結果集所做的更改。 但是,確切的行為與執行時間有關。
當 SqlDataReader 關閉后,只能調用 IsClosed 和 RecordsAffected 屬性。 盡管當 SqlDataReader 存在時可以訪問 RecordsAffected 屬性,但是請始終在返回 RecordsAffected 的值之前調用 Close,以保證返回精確的值。
ExecuteScalar:執行查詢,并返回查詢所返回的結果集中第一行的第一列。
使用 ExecuteScalar 方法從數據庫中檢索單個值(例如一個聚合值)。 與使用 ExecuteReader 方法,然后使用 SqlDataReader 返回的數據執行生成單個值所需的操作相比,此操作需要的代碼較少。
轉載于:https://www.cnblogs.com/07520222sharon/archive/2011/06/11/2078477.html
總結
以上是生活随笔為你收集整理的sqlconnection,sqlcommand,SqlDataAdapter ,ExecuteNonQuery,ExecuteScalar的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LINUX下SVN命令大全
- 下一篇: 通过tinyxml解析百度热词榜单