對(duì)ADO.NET狀態(tài)進(jìn)行操作介紹
ADO.NET狀態(tài)有許多值得學(xué)習(xí)的地方,但是首先一定要了解ADO.NET狀態(tài)的功能,及什么是ADO.NET狀態(tài),現(xiàn)在就介紹有三個(gè)操作可改變表的狀態(tài):請(qǐng)大家進(jìn)行學(xué)習(xí)切磋。。。
◆插入一個(gè)新行
◆ 刪除一個(gè)現(xiàn)有的行
◆更新一個(gè)現(xiàn)有的行
對(duì)于其中的每一個(gè)關(guān)鍵操作,ADO.NET狀態(tài)數(shù)據(jù)適配器都會(huì)定義一個(gè)作為屬性公開的自定義的命令對(duì)象。這樣的屬性包括 InsertCommand、DeleteCommand 和 UpdateCommand。程序員負(fù)責(zé)為這些屬性分配有意義的命令對(duì)象,例如,SqlCommand 對(duì)象。
僅提供的 InsertCommand、DeleteCommand 和 UpdateCommand 屬性就代表了從 ADO 到 ADO.NET狀態(tài)的巨大突破。利用這種屬性,您可以對(duì)內(nèi)存中的更新提交到數(shù)據(jù)庫服務(wù)器的方式進(jìn)行***的控制。如果您不滿意 ADO.NET狀態(tài) 生成的更新代碼,現(xiàn)在則可以修改這些更新代碼,而不會(huì)否定批處理更新的整體特性。使用 ADO 的時(shí)候,您對(duì)庫靜默生成的 SQL 命令毫無控制權(quán)。
而在 ADO.NET狀態(tài)中,利用公開顯示的命令對(duì)象,您可以使用更符合用戶期望的自定義存儲(chǔ)過程或 SQL 語句來應(yīng)用更新。特別是,您可以對(duì)交叉引用的表使用批處理更新系統(tǒng),甚至可以諸如 Active Directory™ 或 Indexing Services 這樣的非 SQL 數(shù)據(jù)提供程序?yàn)槟繕?biāo)。
更新命令應(yīng)該針對(duì)表中每個(gè)更改的行運(yùn)行,并且必須非常通用,以適應(yīng)不同的值。對(duì)于這種任務(wù),非常適合使用命令參數(shù),只要您可以將它們綁定到數(shù)據(jù)庫列的值。ADO.NET狀態(tài)參數(shù)對(duì)象公開兩個(gè)用于這種綁定的屬性。
例如, SourceColumn 和 SourceVersion。尤其是 SourceColumn,它表示一種指示參數(shù)值的間接方式。您可以使用列名設(shè)置 SourceColumn 屬性,并且使批處理更新機(jī)制不時(shí)地提取有效值,而不是使用 Value 屬性