青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Programmer's Cookbook

{C++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}

ADO。NET 之DataSet (三)

DataSet 類

表示數據在內存中的緩存。

線程安全

該類型對于多線程讀操作是安全的。您必須使任何寫操作同步。

備注

DataSet 是 ADO.NET 結構的主要組件,它是從數據源中檢索到的數據在內存中的緩存。DataSet 由一組 DataTable 對象組成,您可使這些對象與 DataRelation 對象互相關聯。您還可通過使用 UniqueConstraintForeignKeyConstraint 對象在 DataSet 中實施數據完整性。有關使用 DataSet 對象的詳細信息,請參見創建和使用 DataSet

盡管 DataTable 對象中包含數據,但是 DataRelationCollection 允許您遍覽表的層次結構。這些表包含在通過 Tables 屬性訪問的 DataTableCollection 中。當訪問 DataTable 對象時,注意它們是按條件區分大小寫的。例如,如果一個 DataTable 被命名為“mydatatable”,另一個被命名為“Mydatatable”,則用于搜索其中一個表的字符串被認為是區分大小寫的。但是,如果“mydatatable”存在而“Mydatatable”不存在,則認為該搜索字符串不區分大小寫。有關使用 DataTable 對象的更多信息,請參見創建數據表

DataSet 可將數據和架構作為 XML 文檔進行讀寫。數據和架構可通過 HTTP 傳輸,并在支持 XML 的任何平臺上被任何應用程序使用。可使用 WriteXmlSchema 方法將架構保存為 XML 架構,并且可以使用 WriteXml 方法保存架構和數據。若要讀取既包含架構也包含數據的 XML 文檔,請使用 ReadXml 方法。

在典型的多層實現中,用于創建和刷新 DataSet 并依次更新原始數據的步驟包括:

  1. 通過 DataAdapter 使用數據源中的數據生成和填充 DataSet 中的每個 DataTable
  2. 通過添加、更新或刪除 DataRow 對象更改單個 DataTable 對象中的數據。
  3. 調用 GetChanges 方法以創建只反映對數據進行的更改的第二個 DataSet
  4. 調用 DataAdapterUpdate 方法,并將第二個 DataSet 作為參數傳遞。
  5. 調用 Merge 方法將第二個 DataSet 中的更改合并到第一個中。
  6. 針對 DataSet 調用 AcceptChanges。或者,調用 RejectChanges 以取消更改。

注意    DataSetDataTable 對象從 MarshalByValueComponent 繼承而來,并支持用于遠程處理的 ISerializable 接口。這些是僅有的可以遠程處理的 ADO.NET 對象。
以下示例由幾種方法組成,結合使用這些方法,從作為 SQLServer 7.0 的示例數據庫而安裝的 Northwind 數據庫創建和填充 DataSet

[C#]
using System;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Windows.Forms;

public class DataGridSample:Form{
   DataSet ds;
   DataGrid myGrid;

   static void Main(){
      Application.Run(new DataGridSample());
   }

   public DataGridSample(){
      InitializeComponent();
   }

   void InitializeComponent(){
      this.ClientSize = new System.Drawing.Size(550, 450);
      myGrid = new DataGrid();
      myGrid.Location = new Point (10,10);
      myGrid.Size = new Size(500, 400);
      myGrid.CaptionText = "Microsoft .NET DataGrid";
      this.Text = "C# Grid Example";
      this.Controls.Add(myGrid);
      ConnectToData();
      myGrid.SetDataBinding(ds, "Suppliers");
   }
   void ConnectToData(){
      // Create the ConnectionString and create a SqlConnection.
      // Change the data source value to the name of your computer.
     
      string cString = "Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer";
      SqlConnection myConnection = new SqlConnection(cString);
      // Create a SqlDataAdapter.
      SqlDataAdapter myAdapter = new SqlDataAdapter();
      myAdapter.TableMappings.Add("Table", "Suppliers");
      myConnection.Open();
      SqlCommand myCommand = new SqlCommand("SELECT * FROM Suppliers",
      myConnection);
      myCommand.CommandType = CommandType.Text;
  
      myAdapter.SelectCommand = myCommand;
      Console.WriteLine("The connection is open");
      ds = new DataSet("Customers");
      myAdapter.Fill(ds);
      // Create a second Adapter and Command.
      SqlDataAdapter adpProducts = new SqlDataAdapter();
      adpProducts.TableMappings.Add("Table", "Products");
      SqlCommand cmdProducts = new SqlCommand("SELECT * FROM Products",
      myConnection);
      adpProducts.SelectCommand = cmdProducts;
      adpProducts.Fill(ds);
      myConnection.Close();
      Console.WriteLine("The connection is closed.");
      System.Data.DataRelation dr;
      System.Data.DataColumn dc1;
      System.Data.DataColumn dc2;
      // Get the parent and child columns of the two tables.
      dc1 = ds.Tables["Suppliers"].Columns["SupplierID"];
      dc2 = ds.Tables["Products"].Columns["SupplierID"];
      dr = new System.Data.DataRelation("suppliers2products", dc1, dc2);
      ds.Relations.Add(dr);
   }
}

DataTableCollection

一個 ADO.NET DataSet 包含 DataTable 對象所表示的零個或更多個表的集合。DataTableCollection 包含 DataSet 中的所有 DataTable 對象。

DataTableSystem.Data 命名空間中定義,表示內存駐留數據表。它包含 DataColumnCollection 所表示的列和 ConstraintCollection 所表示的約束的集合,這些列和約束一起定義了該表的架構。DataTable 還包含 DataRowCollection 所表示的行的集合,而 DataRowCollection 則包含表中的數據。除了其當前狀態之前,DataRow 還會保留其當前版本和初始版本,以標識對行中存儲的值的更改。

posted on 2005-11-24 10:29 夢在天涯 閱讀(838) 評論(0)  編輯 收藏 引用 所屬分類: C#/.NET

公告

EMail:itech001#126.com

導航

統計

  • 隨筆 - 461
  • 文章 - 4
  • 評論 - 746
  • 引用 - 0

常用鏈接

隨筆分類

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1816636
  • 排名 - 5

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲手机在线| 99精品99| 欧美激情精品久久久六区热门 | 免费亚洲电影| 欧美成人免费小视频| 一区二区三区波多野结衣在线观看| 亚洲精品日韩综合观看成人91| 欧美午夜精品一区| 久久av一区二区三区亚洲| 久久精品一区中文字幕| 亚洲经典自拍| 一本在线高清不卡dvd | 亚洲自拍高清| 影音先锋亚洲精品| 亚洲第一精品久久忘忧草社区| 美女精品国产| 亚洲一区二区三区视频播放| 欧美一二三区精品| 亚洲欧洲日产国产网站| 亚洲午夜激情免费视频| 一区二区在线看| 亚洲精品一区二区三| 国产欧美日韩在线| 亚洲电影网站| 国产精品亚洲综合久久| 欧美高清自拍一区| 欧美性事免费在线观看| 久久综合给合| 欧美四级剧情无删版影片| 久久国产精品久久久久久电车| 免费日韩一区二区| 亚洲欧美在线免费| 免费观看一区| 欧美在线免费看| 欧美福利在线观看| 欧美一区二区三区啪啪| 免费不卡视频| 久久福利电影| 欧美日韩免费在线| 老司机精品久久| 国产精品草莓在线免费观看| 免费视频最近日韩| 国产欧美精品一区| 亚洲人成网站色ww在线| 亚洲午夜在线观看| 亚洲精品影院在线观看| 国产日韩亚洲| 亚洲精品社区| 一区二区三区在线视频观看| 一本一本久久a久久精品综合麻豆| 一区免费观看视频| 亚洲无线视频| 日韩午夜三级在线| 久久久久久网站| 亚洲欧美日韩国产一区二区三区 | 日韩视频在线播放| 欧美中文字幕在线播放| 亚洲一区二区三区在线播放| 久久综合色8888| 久久精品盗摄| 国产精品igao视频网网址不卡日韩| 欧美成人网在线| 国产亚洲成av人片在线观看桃| 99视频在线精品国自产拍免费观看| 亚洲国产精品欧美一二99| 午夜精品久久久久久久99樱桃| 亚洲精品综合| 乱中年女人伦av一区二区| 久久精品国产99| 国产精品久久久免费| 亚洲精品欧美激情| 亚洲精品国产精品国产自| 久久aⅴ国产紧身牛仔裤| 亚洲欧美激情四射在线日| 免费成人黄色片| 媚黑女一区二区| 国产亚洲欧美在线| 亚洲自拍偷拍麻豆| 亚洲女ⅴideoshd黑人| 欧美日韩精品免费观看| 亚洲高清色综合| 亚洲国产成人精品视频| 久久九九热re6这里有精品| 性色一区二区三区| 国产精品国产a级| 日韩五码在线| 一区二区日韩伦理片| 欧美黑人多人双交| 亚洲国产91| 最近中文字幕日韩精品| 久热国产精品| 免费亚洲电影| 在线欧美一区| 久久综合中文| 亚洲成色最大综合在线| 免费影视亚洲| 一区二区在线视频播放| 久久米奇亚洲| 免费观看一级特黄欧美大片| 一区二区自拍| 久久午夜影视| 欧美国产综合一区二区| 91久久精品国产91性色| 欧美+亚洲+精品+三区| 亚洲成色最大综合在线| 亚洲精品国产欧美| 欧美激情一区二区三区成人 | 亚洲破处大片| 日韩视频一区二区三区在线播放免费观看 | 欧美与黑人午夜性猛交久久久| 欧美伊久线香蕉线新在线| 国产欧美日韩综合一区在线观看| 亚洲欧美综合| 久久久五月天| 亚洲国产1区| 欧美大片免费久久精品三p| 亚洲欧洲日产国产网站| 一区二区三区高清| 国产精品国产三级国产普通话99| 亚洲天堂av在线免费| 欧美制服第一页| 激情六月婷婷综合| 两个人的视频www国产精品| 亚洲国产精品999| 一区二区三区四区国产精品| 欧美午夜精品久久久| 亚洲综合视频在线| 久久手机精品视频| 亚洲片区在线| 欧美午夜片欧美片在线观看| 亚洲你懂的在线视频| 久久伊人一区二区| 亚洲精品久久久蜜桃| 欧美日韩小视频| 午夜精品久久久久久久 | 狠狠色狠狠色综合系列| 鲁大师成人一区二区三区| 亚洲国产人成综合网站| 亚洲一区二区精品视频| 国产欧美日韩一区二区三区在线观看 | 欧美一区二区三区四区在线| 欧美成人午夜免费视在线看片| 99综合在线| 国产乱码精品1区2区3区| 久久久夜色精品亚洲| 最新日韩欧美| 亚洲欧美精品在线观看| 久久精品亚洲一区二区| 亚洲成人在线视频播放| 欧美精品福利视频| 亚洲永久免费观看| 美女视频黄a大片欧美| 一片黄亚洲嫩模| 国产日韩欧美综合精品| 欧美国产亚洲视频| 亚洲欧美电影院| 欧美黄色视屏| 亚洲欧美综合国产精品一区| 亚洲第一二三四五区| 欧美午夜精品久久久久久孕妇| 久久本道综合色狠狠五月| 亚洲黄色成人| 久久精品免费| 一本色道久久综合| 国产伊人精品| 欧美日韩亚洲一区| 久久精品一区二区三区四区 | 欧美日韩在线不卡| 欧美一区二区三区另类| 亚洲人成艺术| 久久琪琪电影院| 亚洲天堂男人| 亚洲高清激情| 国产精品一区久久久久| 欧美黑人一区二区三区| 欧美在线免费看| 一区二区日韩精品| 欧美国产日本在线| 久久精品国产亚洲精品| 一区二区国产在线观看| 樱桃成人精品视频在线播放| 国产精品啊啊啊| 一本色道久久综合亚洲精品不卡| 国产色视频一区| 欧美日韩午夜剧场| 欧美aⅴ一区二区三区视频| 亚洲欧美日韩在线高清直播| 亚洲精品日韩久久| 欧美 日韩 国产 一区| 欧美在线观看一区二区| 中文av一区二区| 亚洲人成亚洲人成在线观看图片| 国产一区二区三区最好精华液| 欧美激情视频一区二区三区免费| 久久九九免费视频| 亚洲欧美国产精品桃花| 夜色激情一区二区| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久精品人人做人人综合| 亚洲女人天堂成人av在线|