成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面講解ADO.NET鏈接對象重要性

開發 后端
文章介紹了ADO.NET鏈接對象SqlCommand類提供了用于執行命令的四個方法:ExecuteReader, ExecuteNonQuery, ExecuteScalar。

鏈接是一種很重要的資源,可以讓我們把不相關的東西鏈接起來,在ADO .NET提供了一種 ADO.NET鏈接對象。不論何時客戶端需要一個鏈接,返回的是鏈接池中的對象。一旦鏈接關閉,對象不是留給碎片收集器,而是釋放到池中,供其它調用者使用。  鏈接池不是由ADO .NET直接管理。SQL Server鏈接依靠Windows? 2000服務組件地pooling服務。每個鏈接池通過確切的匹配法則與不同的鏈接字符串相關。一旦創建,SQL Server鏈接池至到活動過程終止,它才會終結。

#T#相反,OLE DB鏈接被很小心的集中在OLE DB提供者會話對象的內部實現中。會話集中和自動收集是通過OLE DB服務完成,并通過注冊設置在每一個提供者基礎上被激活。因此,自動鏈接池并不會發生在所有OLE DB 提供者上,所有設備上。關于ADO.NET鏈接對象,最后要指出的是,鏈接類是不可繼承的。你不能從SqlConnection 或 OleDbConnection中創建一個新類。這樣做是出于代碼安全方面的考慮。然而,你可以創建你自己的類,在類中包含一個或多個ADO.NET鏈接對象。使用直接命令在向數據提供者發送命令前,要確保鏈接已經打開。默認鏈接是關閉的。然后,執行命令,只要有可能就關閉鏈接以確保其他客戶能得到重要資源。

SqlCommand類提供了用于執行命令的四個方法。它們是:ExecuteReader, ExecuteNonQuery, ExecuteScalar,及最新的但不是最小的,ExecuteXmlReader.從本質上講,這些方法在期望的輸入上不同,返回的結果不同而已。通常,在操作完成后,需要確定使用的方法而不是繼續向前。順便指出,OleDbCommand 對象不支持ExecuteXmlReader.ExecuteReader用于執行選擇記錄的查詢命令或存儲過程。它返回一個或多個結果集。

  1. cmd.Connection.Open();  
  2. SqlDataReader dr = cmd.ExecuteReader();  
  3. // 處理結果集  
  4. cmd.Connection.Close(); 

你可以通過SqlDataReader對象訪問選擇的記錄,使用Read方法在記錄間循環。使用NextResults方法移動到下一結果集。ExecuteNonQuery用于執行命令或存儲過程,它影響特定表的狀態。這只意味著一個查詢命令。通常使用此方法執行INSERT, UPDATE, DELETE, CREATE, SET語句。ExecuteNonQuery只返回命令所影響到的行數,如果得不到信息則返回-1.它并不能使你訪問語句或存儲過程生成的結果集。實際上,無法阻止你用此方法執行一條查詢命令,但在這種情況下,你既得不到結果集也得不到被影響的行數。

  1. cmd.Connection.Open();  
  2. nRecsAffected = cmd.ExecuteNonQuery();  
  3. cmd.Connection.Close();  
  4. //此處檢查影響到的記錄 

通過SqlCommand對象的RecordsAffected屬性可以得到影響到的行數。如果發生錯誤或如果執行的昌查詢命令,此屬性值為-1.ExecuteScalar期望執行查詢命令,或更可能是一個存儲過程,它返回數據。然而,此方法與ExecuteReader方法不同,它只將得到的結果集中的第一行第一列的值作為標量值返回。

  1. cmd.Connection.Open();  
  2. Object o = cmd.ExecuteScalar();  
  3. cmd.Connection.Close();  
  4. // work on the scalar here 

此方法將值作為一個封裝對象返回。然后由你來解包或將此值造型為正確的期望類。如果需要對數據執行具有統計或集合性質的操作,ExecuteScalar方法將特別有用。在這些或相似的情況下,你可能只希望返回給調用者一個值。由于它的使用場合,你或多或少的對存儲過程而不是單個SQL語句使用此方法。ExecuteXmlReader方法在SELECT命令執行后,構建并返回一個XmlReader對象,它利用了存在于SQL Server 2000中的XML特性。

責任編輯:田樹 來源: 博客
相關推薦

2009-12-25 10:17:27

2009-11-03 15:24:14

ADO.NET對象模型

2009-11-11 09:48:08

ADO.NET Com

2009-11-04 09:52:10

ADO.NET Sql

2009-11-12 16:14:28

ADO.NET自定義對

2009-11-12 14:37:26

ADO.NET結構

2009-11-12 09:44:41

ADO.NET對象

2009-11-04 08:38:30

ADO.NET庫文件

2009-12-24 09:34:47

調用ADO.NET

2009-11-04 12:45:33

ADO.NET Dat

2009-10-29 13:34:01

ADO.NET對象

2009-10-29 11:08:20

ADO.NET Dat

2009-10-29 10:10:10

ADO.NET數據集類

2009-12-31 14:46:29

ADO.NET Ent

2009-10-29 08:51:24

ADO.NET結構

2009-11-04 13:20:28

ADO.NET Dat

2009-11-04 10:23:05

ADO.NET Con

2009-12-21 17:35:24

ADO.NET對象

2009-11-13 14:38:45

ADO.NET Dat

2009-12-21 17:02:19

ADO.NET Sql
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲人成一区二区三区性色 | 成人久久18免费网站麻豆 | 成人欧美一区二区三区在线观看 | 99这里只有精品视频 | 亚洲一区二区三区视频免费观看 | 国产欧美精品区一区二区三区 | 亚洲国产精品视频一区 | 国产在线观看不卡一区二区三区 | 国产精品免费av | 免费毛片网站 | av在线视| 欧美 日韩 视频 | 国产成人免费 | 99re视频精品 | 午夜看电影在线观看 | 国产欧美精品一区二区色综合朱莉 | 久久99精品久久久久 | 好姑娘影视在线观看高清 | 爱草视频 | 免费观看日韩精品 | 亚洲午夜一区二区 | 精品在线一区 | 欧美黄在线观看 | 99精品视频免费观看 | 久久综合伊人 | 国产精品1区 | 91精品国产91久久久久久丝袜 | 色综合一区二区三区 | av影音 | 中文字幕一区二区三区四区 | 国产日韩一区二区 | 欧美日韩成人网 | 久久99久久 | 日韩精品一区二区三区久久 | 99精品国产一区二区青青牛奶 | 国产精品一区久久久 | 毛片免费观看 | 亚洲免费精品一区 | 一区二区三区av | 成人午夜精品 | 一区二区高清 |