圖解ADO.NET實(shí)例進(jìn)行介紹學(xué)習(xí)
用ADO.NET實(shí)例中的數(shù)據(jù),不管是不是原創(chuàng),都能夠通過雙面編程模型進(jìn)行處理,在調(diào)用ReadXmlData之前你應(yīng)該完成這個(gè)步驟是一個(gè)顯示可更新數(shù)據(jù)表的最簡(jiǎn)單的ASP.NET 頁面。
當(dāng)你要開始使用ADO.NET時(shí),請(qǐng)考慮這樣一個(gè)事實(shí):ADO.NET統(tǒng)一了數(shù)據(jù)容器類編程接口,.因此,不管是何種類型的程序: Windows Form, Web Form, 或者 Web Service也好,你都得在同一組類中集中處理有關(guān)數(shù)據(jù). 不管處于后端的數(shù)據(jù)源是SQL Server database,或是OLE DB 提供程序,, ADO.NET實(shí)例,又或是數(shù)組,你都可以使用一樣的方法和屬性來進(jìn)行處理.
如果你堅(jiān)持在.NET世界中使用ADO,那么請(qǐng)準(zhǔn)備好面對(duì)一些其它的影響,例如你需要額外的代碼才能夠從數(shù)據(jù)綁定控件中使用ADO.NET實(shí)例
DataSet, DataTable, and Recordset
關(guān)于Recordset object.,ADO.NET實(shí)例并沒有與其直接相對(duì)應(yīng)的對(duì)象.最接近的是DataTable 對(duì)象.雖然它們二者幾乎具有相同的功能,但它們?cè)诟髯缘目蚣芾锇l(fā)揮著不同的作用.Recordset是一個(gè)相當(dāng)大的對(duì)象,具備ADO的大多數(shù)功能,但在某些方面仍有欠缺.
Recordset在一些方面性能優(yōu)良,如:它具可創(chuàng)造性,它可以離線操作,功能眾多,但在一些方面仍需改進(jìn),如:基于其固有的COM特性, Recordset很難在網(wǎng)絡(luò)上連載; Recordset是一個(gè)二進(jìn)制的對(duì)象,因此不同平臺(tái)之間的模塊很難共享它;還有就是蛇不能夠穿過防火墻.#t#
另外,它表現(xiàn)的是記錄的單個(gè)表.如果該table作為一個(gè)或幾個(gè)JOIN的結(jié)果,那么它很難更新原始代碼源.當(dāng)你試圖將脫線的recordset與原始代碼源統(tǒng)一起來時(shí),數(shù)據(jù)源必須能夠識(shí)別SQL.不管如何,你的recordset可以由非SQL 提供程序創(chuàng)建.
在ADO.NET實(shí)例中,ADO Recordset的所有功能被分拆成幾塊更簡(jiǎn)單的對(duì)象:其中一個(gè)便是DataReader. DataReader模擬了快速,只讀,僅向前的只讀游標(biāo)的操作.ADO.NET實(shí)例表現(xiàn)了數(shù)據(jù)源,是個(gè)簡(jiǎn)單的對(duì)象. 你可以手動(dòng)構(gòu)造一個(gè)DataTable,或者也可使用DataSet命令自動(dòng)生成. DataSet對(duì)于它所包含的數(shù)據(jù)知之不多.通過它,你可以在內(nèi)存中處理數(shù)據(jù),或者是其它比如排序,編輯,篩選,創(chuàng)建瀏覽等工作.