新聞中心
ADO.NET命令真正的進(jìn)步源自數(shù)據(jù)集這一概念的提出,在ADO中不存在與ADO.NET DataSet類似的對象。雖然我們無法從這個例子看出DataSet對象的重要性,但從體系結(jié)構(gòu)上說,DataSet對象處于一個不同的層次。它允許我們在同一個邏輯對象的組織之下管理多個表,

成都創(chuàng)新互聯(lián)公司網(wǎng)絡(luò)公司擁有10多年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),1000+客戶的共同信賴。提供網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站開發(fā)、網(wǎng)站定制、買鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)
修改數(shù)據(jù)
以脫機(jī)方式工作時,我們對數(shù)據(jù)的添加、修改、刪除等更新操作在內(nèi)存緩沖中進(jìn)行。因此,如果你利用NewRow添加了新的記錄,或者利用某個簡單的工具編輯現(xiàn)有的行,這些更新只在內(nèi)存中進(jìn)行,不影響底層的數(shù)據(jù)源。更新操作在我們從Command對象調(diào)用Update方法提交更改的時候發(fā)生。Update方法為數(shù)據(jù)集中每個被插入、ADO.NET命令修改、刪除的行分別調(diào)用Insert、Update和Delete命令。
我們可以利用ADO.NET命令的InsertCommand、UpdateCommand和DeleteCommand屬性,指定面向特定數(shù)據(jù)源的命令,插入、修改或刪除記錄。這些屬性的內(nèi)容和我們所要操作的數(shù)據(jù)提供者有關(guān),但是,如果數(shù)據(jù)提供者是一個數(shù)據(jù)庫管理系統(tǒng)(DBMS),屬性的內(nèi)容很可能就是SQL命令字符串。當(dāng)Update方法執(zhí)行時,如果這些屬性還沒有設(shè)置好,但DataSet對象包含了主鍵信息,那么,ADO.NET將自動生成命令文本。#t#
我建議,只有當(dāng)應(yīng)用程序要求讀取一定數(shù)量的記錄并進(jìn)行修改,而且修改的次序和數(shù)量不可預(yù)測時,才使用這種插入、更改、刪除記錄的方法。ADO.NET命令如果應(yīng)用程序的用戶界面只是要求填寫幾個字段,然后插入或更新記錄,那么,執(zhí)行SQL語句或存儲過程是更理想的方法。
設(shè)置了關(guān)系之后,ADO.NET將拒絕所有破壞該關(guān)系的數(shù)據(jù)集改動操作,并產(chǎn)生一個運(yùn)行時異常。在遍歷表的記錄時,調(diào)用GetChildRows方法可以從已連接的表訪問所有相關(guān)的行。GetChildRows方法返回一個DataRow對象的數(shù)組,這是一種新的分層式記錄導(dǎo)航方式,而傳統(tǒng)的記錄導(dǎo)航方式屬于順序模式或隨機(jī)模式。
關(guān)系是不可傳遞的。ADO.NET命令假設(shè)表A關(guān)聯(lián)到表B,表B又關(guān)聯(lián)到表C的一些行。另外,假設(shè)在遍歷表A記錄的時候,對于每一個表A的記錄,我們要訪問現(xiàn)有關(guān)系中的子記錄。如果我們想要訪問對應(yīng)表B中特定記錄的表C記錄,那么,我們不能使用由A-B的關(guān)系得到的表B的ADO.NET命令;相反,我們必須從表B打開一個新的表視圖,找到我們想要的特定記錄,然后通過表B對表C的關(guān)系調(diào)用GetChildRows方法。
本文題目:利用ADO.NET命令進(jìn)行使用介紹
網(wǎng)站鏈接:http://www.dlmjj.cn/article/ccoihjs.html


咨詢
建站咨詢
