欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
使用ADO.NET訪(fǎng)問(wèn)數據庫
 ADO.NET 概述
  ADO.NET 提供對 Microsoft SQL Server 等數據源以及通過(guò) OLE DB 和 XML 公開(kāi)的數據源的一致訪(fǎng)問(wèn)。數據共享使用者應用程序可以使用 ADO.NET 來(lái)連接到這些數據源,并檢索、操作和更新數據。
  ADO.NET 有效地從數據操作中將數據訪(fǎng)問(wèn)分解為多個(gè)可以單獨使用或一前一后使用的不連續組件。ADO.NET 包含用于連接到數據庫、執行命令和檢索結果的 .NET 數據提供程序。您可以直接處理檢索到的結果,或將其放入 ADO.NET DataSet 對象,以便與來(lái)自多個(gè)源的數據或在層之間進(jìn)行遠程處理的數據組合在一起,以特殊方式向用戶(hù)公開(kāi)。ADO.NET DataSet 對象也可以獨立于 .NET 數據提供程序使用,以管理應用程序本地的數據或源自 XML 的數據。
  ADO.NET 結構
  以前,數據處理主要依賴(lài)于基于連接的雙層模型。當數據處理越來(lái)越多地使用多層結構時(shí),程序員正在向斷開(kāi)方式轉換,以便為他們的應用程序提供更佳的可縮放性。
  ADO.NET 借用 XML 的力量來(lái)提供對數據的斷開(kāi)式訪(fǎng)問(wèn)。ADO.NET 的設計與 .NET 框架中 XML 類(lèi)的設計是并進(jìn)的——它們都是同一個(gè)結構的組件。
  ADO.NET 和 .NET 框架中的 XML 類(lèi)集中于 DataSet 對象。無(wú)論 DataSet 是文件還是 XML 流,它都可以使用來(lái)自 XML 源的數據來(lái)進(jìn)行填充。無(wú)論 DataSet 中數據的數據源是什么,DataSet 都可以寫(xiě)為符合 WWW 聯(lián)合會(huì ) (W3C) 的 XML,并且將其架構包含為 XML 架構定義語(yǔ)言 (XSD) 架構。由于 DataSet 固有的序列化格式為 XML,它是在層間移動(dòng)數據的優(yōu)良媒介,這使 DataSet 成為以遠程方式向 XML Web services 發(fā)送數據和架構上下文以及從 XML Web services 接收數據和架構上下文的最佳選擇。
  設計 ADO.NET 組件的目的是為了從數據操作中分解出數據訪(fǎng)問(wèn)。完成此任務(wù)的是 ADO.NET 的兩個(gè)核心組件:DataSet 和 .NET 數據提供程序,后者是一組包括 Connection、Command、DataReader 和 DataAdapter 對象在內的組件。
  ADO.NET DataSet 是 ADO.NET 的斷開(kāi)式結構的核心組件。DataSet 的設計目的很明確:為了實(shí)現獨立于任何數據源的數據訪(fǎng)問(wèn)。因此,它可以用于多種不同的數據源,用于 XML 數據,或用于管理應用程序本地的數據。DataSet 包含一個(gè)或多個(gè) DataTable 對象的集合,這些對象由數據行和數據列以及主鍵、外鍵、約束和有關(guān) DataTable 對象中數據的關(guān)系信息組成。
  ADO.NET 結構的另一個(gè)核心元素是 .NET 數據提供程序,其組件的設計目的相當明確:為了實(shí)現數據操作和對數據的快速、只進(jìn)、只讀訪(fǎng)問(wèn)。Connection 對象提供與數據源的連接。Command 對象使您能夠訪(fǎng)問(wèn)用于返回數據、修改數據、運行存儲過(guò)程以及發(fā)送或檢索參數信息的數據庫命令。DataReader 從數據源中提供高性能的數據流。最后,DataAdapter 提供連接 DataSet 對象和數據源的橋梁。DataAdapter 使用 Command 對象在數據源中執行 SQL 命令,以便將數據加載到 DataSet 中,并使對 DataSet 中數據的更改與數據源保持一致。
  可以為任何數據源編寫(xiě) .NET 數據提供程序。.NET 框架附帶了兩個(gè) .NET 數據提供程序:SQL Server .NET 數據提供程序和 OLE DB .NET 數據提供程序。
  下圖闡釋了 ADO.NET 結構的組件。
  ADO.NET DataSet
  DataSet 對象是支持 ADO.NET 的斷開(kāi)式、分布式數據方案的核心對象。DataSet 是數據的內存駐留表示形式,無(wú)論數據源是什么,它都會(huì )提供一致的關(guān)系編程模型。它可以用于多個(gè)不同的數據源,用于 XML 數據,或用于管理應用程序本地的數據。DataSet 表示包括相關(guān)表、約束和表間關(guān)系在內的整個(gè)數據集。
  下圖將顯示 DataSet 對象模型。
  
  
  DataSet 中的方法和對象與關(guān)系數據庫模型中的方法和對象一致。
  DataSet 也可以按 XML 的形式來(lái)保持和重新加載其內容,并按 XML 架構定義語(yǔ)言 (XSD) 架構的形式來(lái)保持和重新加載其架構。
  使用 ADO.NET 提供的通用接口,您可以編寫(xiě)一組在使用任何 .NET 數據提供程序時(shí)都將運行的代碼。
  當編寫(xiě)將用于多個(gè) .NET 數據提供程序的代碼時(shí),請特別注意所使用的任何提供程序特定的語(yǔ)法。例如,根據您所訪(fǎng)問(wèn)的數據源,SQL 語(yǔ)法將有所不同。當更改為一個(gè)不同的 .NET 數據提供程序時(shí),如果將 SQL 命令隔離為字符串常數,則將使代碼更易于維護。
  另外,務(wù)必要保持在代碼中創(chuàng )建參數的順序。對于 SQL Server .NET 數據提供程序,參數使用名稱(chēng)來(lái)標識,因此參數順序并不重要。但是,OLE DB .NET 數據提供程序會(huì )按照參數添加到參數集合中的順序來(lái)分配參數值。因此,最好始終保持參數在代碼中的順序。
   下面是C#的示例代碼:
  [C#]
  // You can use either:
  // IDbConnection myConn = new SqlConnection();
  // or:
  // IDbConnection myConn = new OleDbConnection();
  
  IDbCommand myCommand = myConn.CreateCommand();
  myCommand.CommandText = "SELECT * FROM Customers";
  IDataReader myReader = myCommand.ExecuteReader();
  
  while (myReader.Read())
   Console.WriteLine("{0}\t{1}", myReader.GetString(0), myReader.GetString(1));
  創(chuàng )建和使用 DataSet
  ADO.NET DataSet 是數據的一種內存駐留表示形式,無(wú)論它包含的數據來(lái)自什么數據源,它都會(huì )提供一致的關(guān)系編程模型。一個(gè) DataSet 表示整個(gè)數據集,其中包含對數據進(jìn)行包含、排序和約束的表以及表間的關(guān)系。
  使用 DataSet 的方法有若干種,這些方法可以單獨應用,也可以結合應用。您可以:
  在 DataSet 中以編程方式創(chuàng )建 DataTables、DataRelations 和 Constraints 并使用數據填充這些表。
  通過(guò) DataAdapter 用現有關(guān)系數據源中的數據表填充 DataSet。
  創(chuàng )建 DataSet
  可以通過(guò)調用 DataSet 構造函數來(lái)創(chuàng )建 DataSet 的實(shí)例。請指定一個(gè)可選名稱(chēng)參數。如果沒(méi)有為 DataSet 指定名稱(chēng),則該名稱(chēng)會(huì )設置為“NewDataSet”。
  也可以基于現有的 DataSet 來(lái)創(chuàng )建新的 DataSet。新的 DataSet 可以是:現有 DataSet 的原樣副本;DataSet 的復本,它復制關(guān)系結構(即架構)但不包含現有 DataSet 中的任何數據;或 DataSet 的子集,它僅包含現有 DataSet 中已使用 GetChanges 方法修改的行。
  以下代碼示例演示如何構造 DataSet 的實(shí)例。
   [C#]
  DataSet custDS = new DataSet("CustomerOrders");
  向 DataSet 添加 DataTable
  ADO.NET 使您能夠創(chuàng )建 DataTable 對象并將其添加到現有 DataSet 中??梢允褂靡砑拥?DataTable 的 Columns 集合中的 DataColumn 對象的 PrimaryKey 和 Unique 屬性來(lái)設置 DataTable 的約束信息。
  以下示例構造一個(gè) DataSet,將一個(gè)新的 DataTable 對象添加到該 DataSet 中,然后將三個(gè) DataColumn 對象添加到該表中。最后,該代碼將一個(gè)列設置為主鍵列。
  [C#]
  DataSet custDS = new DataSet("CustomerOrders");
  
  DataTable ordersTable = custDS.Tables.Add("Orders");
  
  DataColumn pkCol = ordersTable.Columns.Add("OrderID", typeof(Int32));
  ordersTable.Columns.Add("OrderQuantity", typeof(Int32));
  ordersTable.Columns.Add("CompanyName", typeof(string));
  
  ordersTable.PrimaryKey = new DataColumn[] {pkCol};
  創(chuàng )建和使用數據表
  DataSet 由表、關(guān)系和約束的集合組成。在 ADO.NET 中,DataTable 對象用于表示 DataSet 中的表。DataTable 表示一個(gè)內存內關(guān)系數據的表;數據對于它駐留于其中的基于 .NET 的應用程序來(lái)說(shuō)是本地數據,但可從數據源(例如,使用 DataAdapter 的 Microsoft® SQL Server)中導入。
  DataTable 類(lèi)是“.NET 框架類(lèi)庫”中 System.Data 命名空間的成員。您可以獨立創(chuàng )建和使用 DataTable,或者可以將其用作 DataSet 的成員,而且 DataTable 對象也可以與其他 .NET 框架對象(包括 DataView)一起使用。您可以通過(guò) DataSet 對象的 Tables 屬性來(lái)訪(fǎng)問(wèn) DataSet 中表的集合。
  表的架構或結構由列和約束表示。使用 DataColumn 對象以及 ForeignKeyConstraint 和 UniqueConstraint 對象定義 DataTable 的架構。表中的列可以映射到數據源中的列、包含從表達式計算所得的值、自動(dòng)遞增它們的值,或包含主鍵值。
  除架構以外,DataTable 還必須具有行,在其中包含數據并對數據排序。DataRow 類(lèi)表示表中包含的實(shí)際數據。DataRow 及其屬性和方法用于檢索、計算和操作表中的數據。在訪(fǎng)問(wèn)和更改行中的數據時(shí),DataRow 對象會(huì )維護其當前狀態(tài)和原始狀態(tài)。
  您可以使用表中的一個(gè)或多個(gè)相關(guān)的列來(lái)創(chuàng )建表與表之間的父子關(guān)系。DataTable 對象之間的關(guān)系可使用 DataRelation 來(lái)創(chuàng )建。然后,DataRelation 對象可用于返回某特定行的相關(guān)子行或父行。
  創(chuàng )建數據表
  DataTable 表示一個(gè)內存內關(guān)系數據的表,可以獨立創(chuàng )建和使用,也可以由其他 .NET 框架對象使用,最常見(jiàn)的情況是作為 DataSet 的成員使用。
  DataTable 對象可通過(guò)使用 DataTable 構造函數來(lái)創(chuàng )建,或者可通過(guò)將構造函數參數傳遞到 DataSet 的 Tables 屬性的 Add 方法(它是一個(gè) DataTableCollection)來(lái)創(chuàng )建。
  DataTable 對象可通過(guò)使用 DataAdapter 對象的 Fill 方法或 FillSchema 方法在 DataSet 內創(chuàng )建,或者可使用 DataSet 的 ReadXml、ReadXmlSchema 或 InferXmlSchema 方法從預定義的或推斷的 XML 架構中創(chuàng )建。請注意,將 DataTable 添加為一個(gè) DataSet 的 Tables 集合的成員后,不能再將其添至任何其他 DataSet 的表的集合。
  最初創(chuàng )建 DataTable 時(shí),它是沒(méi)有架構(結構)的。要定義表的架構,必須創(chuàng )建 DataColumn 對象并將其添至表的 Columns 集合。您也可以為表定義主鍵列,而且可以創(chuàng )建 Constraint 對象并將其添至表的 Constraints 集合。在為 DataTable 定義了架構之后,可通過(guò)將 DataRow 對象添至表的 Rows 集合來(lái)將數據行添加到表。
  創(chuàng )建 DataTable 時(shí),不需要為 TableName 屬性提供值,您可以在其他時(shí)間指定屬性,或者將其保留為空。但是,在將沒(méi)有 TableName 值的表添至 DataSet 時(shí),該表就會(huì )得到一個(gè)遞增的默認名稱(chēng) TableN,此名稱(chēng)以“Table”開(kāi)頭,從 Table0 開(kāi)始。
  注意 建議您在提供 TableName 值時(shí)避免使用“Table”或“TableN”的命名規則,因為您提供的名稱(chēng)可能會(huì )與 DataSet 中現有的默認表名稱(chēng)沖突。如果提供的名稱(chēng)已經(jīng)存在,將引發(fā)異常。
  以下示例創(chuàng )建 DataTable 對象的實(shí)例,并為其指定名稱(chēng)“Customers”。
   [C#]
  DataTable workTable = new DataTable("Customers");
  以下示例創(chuàng )建 DataTable 實(shí)例,方法是:將其添至 DataSet 的 Tables 集合。
   [C#]
  DataSet custDS = new DataSet();
  DataTable custTable = custDS.Tables.Add("CustTable");
  創(chuàng )建和使用 DataView
  DataView 使您能夠創(chuàng )建 DataTable 中所存儲的數據的不同視圖,這種功能通常用于數據綁定應用程序。使用 DataView,您可以公開(kāi)表中具有不同排序順序的數據,并且可以按行狀態(tài)或基于篩選器表達式來(lái)篩選數據。
  DataView 提供數據的動(dòng)態(tài)視圖,其內容、排序和成員關(guān)系會(huì )實(shí)時(shí)反映對基礎 DataTable 的更改。它不同于 DataTable 的 Select 方法,后者從表中按特定的篩選器和/或排序順序返回 DataRow 數組,雖然其內容反映對基礎表的更改,但其成員關(guān)系和排序卻則保持靜態(tài)。DataView 的動(dòng)態(tài)功能使其成為數據綁定應用程序的理想選擇。
  與數據庫提供的視圖類(lèi)似,DataView 為您提供了可向其應用不同排序和篩選條件的單個(gè)數據集的動(dòng)態(tài)視圖。但是,DataView 和數據庫視圖之間相當不同的一點(diǎn)在于 DataView 不能作為表來(lái)進(jìn)行處理,并且不能提供聯(lián)接表的視圖。另外,還不能排除存在于源表中的列,也不能追加不存在于源表中的列(如計算列)。
  可以使用 DataViewManager 來(lái)管理 DataSet 中所有表的視圖設置。DataViewManager 為您提供了一種方便的方法來(lái)管理每個(gè)表的默認視圖設置。在將一個(gè)控件綁定到 DataSet 的多個(gè)表時(shí),綁定到 DataViewManager 是理想的選擇。
  創(chuàng )建 DataView
  創(chuàng )建 DataView 的方法有兩種??梢允褂?DataView 構造函數,也可以創(chuàng )建對 DataTable 的 DefaultView 屬性的引用。DataView 構造函數可以為空,也可以通過(guò)單個(gè)參數的形式采用 DataTable 或者同時(shí)采用 DataTable 與篩選條件、排序條件和行狀態(tài)篩選器。有關(guān)可與 DataView 一起使用的附加參數的更多信息。
  由于在創(chuàng )建 DataView 時(shí)以及在修改任何 Sort、RowFilter 或 RowStateFilter 屬性時(shí)都會(huì )生成 DataView 的索引,所以當創(chuàng )建 DataView 時(shí),通過(guò)以構造函數參數的形式提供任何初始排序順序或篩選條件,將實(shí)現最佳性能。如果在不指定排序或篩選條件的情況下創(chuàng )建 DataView,然后設置 Sort、RowFilter 或 RowStateFilter 屬性,則會(huì )使索引生成至少二次:一次是在創(chuàng )建 DataView 時(shí),另一次是在修改任何排序或篩選屬性時(shí)。
  請注意,如果使用不采用任何參數的構造函數來(lái)創(chuàng )建 DataView,那么在設置 Table 屬性之前,將無(wú)法使用 DataView。
  以下代碼示例演示如何使用 DataView 構造函數來(lái)創(chuàng )建 DataView。RowFilter、Sort 列和 DataViewRowState 將與 DataTable 一起提供。
   [C#]
  DataView custDV = new DataView(custDS.Tables["Customers"],
   "Country = ‘USA‘",
   "ContactName",
   DataViewRowState.CurrentRows);
  以下代碼演示如何使用該表的 DefaultView 屬性獲取對 DataTable 的默認 DataView 的引用。
   [C#]
  DataView custDV = custDS.Tables["Customers"].DefaultView;
  總結
   上面是VS.NET中ADO.NET的一些主要的特性,給大家參考一下。有任何建議請MAIL我 paulni@citiz.net。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
ADO.NET對象模型 - 技術(shù)改變世界!學(xué)習改變自己! - 博客園
掌握ADO.NET的十個(gè)熱門(mén)技巧
ADO.NET編程之美
6.2.4 DataSet對象
IT博客網(wǎng) - sugar - ADO.NET 的最佳實(shí)踐技巧
DataTable,DataView,DataRowView,DefaultView與Da...
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久