ADO.NET
维基百科,自由的百科全书
ADO.NET (或者新的ActiveX Data Object技術) 是微軟.NET為基應用程åºçš„主è¦é—œè¯å¼è³‡æ–™å˜å–模組。主è¦ç”¨æ–¼å˜å–å„å¼å„樣的資料æºå¦‚:.NET本身的æä¾›æº(Provider)ã€æˆ–æŸäº›ç¶“ç”±.NET橋接的特別æä¾›æºï¼ŒåƒOLE DBæä¾›æºã€ODBC驅動程åºã€æˆ–JDBC驅動程åºã€‚ADO.NET有時被視為進化的ADO技術,但是著眼於介於這兩者間有哪些主è¦æ›´å‹•æ‰æ˜¯é‡é»žã€‚
目录[éšè—] |
[编辑] çµæ§‹
ADO.NET包括兩個主è¦éƒ¨åˆ†ï¼š
[编辑] 資料æä¾›æº (Data provider)
供應æºç‰©ä»¶ç¾¤ã€‚這些類æä¾›å°è³‡æ–™æºâ”€â”€å¦‚SQL Server數據庫──å˜å–和通訊的功能。æ¯å€‹è³‡æ–™æºæœ‰å®ƒè‡ªå·±çš„供應æºç‰©ä»¶çµ„,ä¸éŽå®ƒå€‘æ¯å€‹éƒ½æœ‰å…±é€šçš„å—尾:
- Connection (連線): æä¾›å°è³‡æ–™æºå˜å–所需的連線。亦扮演abstract factory(æŠ½è±¡å·¥å» )指æ®ç‰©ä»¶çš„腳色。
- Command (指令): 用來å°è³‡æ–™æºåŸ·è¡Œè¨±å¤šå‹•ä½œï¼Œå¦‚讀å–ã€æ›´æ–°ã€åˆªé™¤ç›¸é—œè³‡æ–™ã€‚
- Parameter (變é‡): æ述附於指令的單一變é‡ã€‚常見範例是給é å˜ç¨‹åº (stored procedure) è²æ˜Žçš„變é‡ã€‚
- DataAdapter (資料轉接元): 顧åæ€ç¾©æ供資料組(DataSet)物件與資料æºè½‰æŽ¥ (åƒç…§ä¸‹æ–‡)。
- DataReader (資料讀å–å…ƒ): 一個用來高效處ç†å¤§åž‹çµæžœåˆ—表──一次一個紀錄──而ä¸æš«å˜åœ¨ç”¨æˆ¶ç«¯çš„物件。
[编辑] 資料組 (DataSet)
資料組(DataSet)物件群,是一組類æ述單一內å˜è£¡é çš„é—œè¯æ•¸æ“šåº«ã€‚åªèƒ½æœ‰ä¸€çµ„資料元ä¸ç«‹çš„資料組物件群組,ä¸éŽå…¶ä»–資料æºçš„資料和數據庫概è¦(schema)çµæ§‹å¯ä»¥åˆ©ç”¨è³‡æ–™è½‰æŽ¥å…ƒå°Žå…¥ã€‚這些類形æˆè‡ªçµ¦è‡ªè¶³çš„階層:
- 資料組物件表é”了一個完整數據庫。它å¯åŒ…括表ã€èˆ‡è¡¨èˆ‡è¡¨ä¹‹é–“çš„é—œè¯ã€‚
- 資料表(DataTable)物件表é”數據庫裡é çš„å–®ä¸€è¡¨æ ¼ã€‚å®ƒæœ‰å稱ã€è¡Œã€èˆ‡åˆ—。
- 資料行(DataRow)物件表é”表裡é 的一行。並å…許讀å–ã€æ›´æ–°è©²è¡Œçš„值,也å…許é€éŽä¸»éµ(primary key)和外éµ(foreign key)關係抓å–跟該行有關係的任何行的資料。
- 資料關è¯(DataRelation)æ述表間的關è¯æ€§ï¼Œä¾‹å¦‚主éµå¤–éµé—œä¿‚。å°ä¿ƒæˆè³‡æ–™è¡Œå–得相關行的功能相當有用。
- ç´„æŸ(Constraint)æ述數據庫裡需è¦å¼·åˆ¶åŸ·è¡Œçš„屬性,例如主éµæ¬„下æ¯å€‹å€¼å”¯ä¸€æ€§ã€‚隨著資料被修改任何é•å該約æŸçš„éƒ½æœƒé€ æˆä¾‹å¤–ç‹€æ³ã€‚
- 資料表(DataTable)物件表é”數據庫裡é çš„å–®ä¸€è¡¨æ ¼ã€‚å®ƒæœ‰å稱ã€è¡Œã€èˆ‡åˆ—。
[编辑] ADO.NETæä¾›æºè³‡æºä¸€è¦½
- 微軟為許多數據庫發行æä¾›æºï¼Œä»¥åŠåœ¨è¦–窗下給微軟CLR使用的ODBC驅動發行橋接æä¾›æºã€‚
- DataDirect Technologies發行100%列管æä¾›æºï¼Œæ”¯æŒä¸»æµä¼æ¥æ•¸æ“šåº« (Oracle, Sybase, DB2, SQL Server, Progress RDBMS)
- OpenLink Software給大é‡çš„客戶指定數據庫發行æä¾›æºï¼ŒåŒ…括到其他資料å˜å–機構的橋接æä¾›æºï¼Œä¸¦å¯ä»¥åœ¨è¦–窗下微軟自己或者Monoçš„CLR實åšä¸‹æ”¯æŒã€‚
[编辑] ADO.NET與Visual Studio.NET
在Visual Studio.NETæ•´åˆé–‹ç™¼ç’°å¢ƒå·²å…§å»ºåŠŸèƒ½ï¼Œå¯ç‚ºç‰¹åˆ¥çš„數據庫概è¦å‰µé€ 特殊的資料組å類群,並å…許é€éŽå¼·å¼å±¬æ€§è¼•æ˜“çš„å˜å–æ¯å€‹å€åŸŸè³‡æ–™ã€‚這在編è¯æ™‚期下幫助æ•ç²æ›´å¤šç·¨ç¨‹éŒ¯èª¤ä¸¦ä¸”讓整åˆé–‹ç™¼ç’°å¢ƒä¸‹çš„Intellisense功能更為有用。
[编辑] ADO Vs. ADO.NET
關於從ADO到ADO.NET的變動,MSDN裡é é€™ç¯‡æ–‡ç« æœ‰ç›¸ç•¶æœ‰ç”¨çš„è¨Žè«–ã€‚
- 英文版:ADO.NET for the ADO Programmer
- ç¹é«”ä¸æ–‡ï¼š"ADO.NET ─ ADO 開發人員指引"
- ç°¡é«”ä¸æ–‡ï¼šå¾žç¼º (MSDNä¸åœ‹ç‰ˆä¸Šæ‰¾ä¸åˆ°)。
[编辑] 物件空間群(ObjectSpaces)
物件空間群是一個給微軟.NET框架的資料å˜å–應用程åºä»‹é¢çš„組åˆã€‚並被包括在未來版本的ADO.NETä¸ã€‚物件空間群å…許資料以物件群──ç¨ç«‹æ–¼åŸºç¤Žçš„資料倉儲(datastore)──方å¼å°å¾…。在物件空間群裡,資料以物件方å¼æš´éœ²ï¼Œé€™ç¨®æ–¹å¼å°è£äº†å®ƒå€‘的物ç†çµæ§‹ï¼Œå¦‚表ã€åˆ—ã€æ¬„ç‰ç‰ã€‚
物件空間資料物件群åˆå為æŒä¹…化物件群(Persistent Objects)。這些物件空間物件群有時被用於從資料倉儲裡å–得資料ã€åˆ©ç”¨å®ƒçš„é—œè¯æ€§å°Žå¼•è³‡æ–™ã€ä¿®æ”¹è³‡æ–™ã€ä¸¦æ交變動到資料倉儲裡。物件空間群包括ä¸åŒçš„類以連線到關連資料倉儲,例如數據庫ã€æˆ–者æŸå€‹XML資料倉儲。ä¸ç®¡æ˜¯åˆ°æ•¸æ“šåº«æˆ–XML資料倉儲,這兩者都æ供了一致的方法群來å˜å–資料,並且å°è£èˆ‡è³‡æ–™å€‰å„²é–“的通訊。æ¤å¤–,這些類也å¯è¢«å»¶å±•ä¾†å‰µé€ 給其他類型的資料倉儲用的轉接元。
[编辑] åƒè¦‹
- ActiveX Data Objects (ADO)
- Open Database Connectivity
- OLE DB