C# 學習筆記02 ADO.net

來源:互聯網
上載者:User

標籤:datagridview   style   blog   class   tar   color   

DataSetado.net DataSet 的設計已明確指出它可獨立於任何資料來源外而存取資料。因此,它可與多個不同的資料裡來源搭配使用、與 XML 資料搭配使用,或用於管理應用程式的本機資料。DataSet 包含一或多個由資料列和資料行所組成的 DataTable 物件集合,以及 DataTable 物件中的主索引鍵、外部索引鍵、條件約束 (Constraint) 及資料的相關資訊。 ado.net提供與資料來源進行互動的相關的公用方法,但是對於不同的資料來源採用一組不同的類庫。這些類庫稱為Data Providers,並且通常是以與之互動的協議和資料來源的類型來命名的。ado.net是與資料來源互動的.NET技術。有許多的Data Providers,它將允許與不同的資料來源交流――取決於它們所使用的協議或者資料庫。然而無論使用什麼樣的Data Provider,開發人員將使用相似的對象與資料來源進行互動。SqlConnection對象管理與資料來源的串連。SqlCommand對象允許開發人員與資料來源交流並發送命令給它。為了對進行快速的只“向前”地讀取資料,使用SqlDataReader。如果想使用斷開資料,使用DataSet並實現能進行讀取或者寫入資料來源的SqlDataAdapter.  Connection 類和資料庫互動,必須串連它。串連協助指明資料庫伺服器、資料庫名字、使用者名稱、密碼,和串連資料庫所需要的其它參數。Connection對象會被Command對象使用,這樣就能夠知道是在哪個資料來源上面執行命令。與資料庫互動的過程意味著必須指明想要執行的操作。這是依靠Command對象執行的。開發人員使用Command對象來發送SQL語句給資料庫。Command對象使用Connection對象來指出與哪個資料來源進行串連。開發人員能夠單獨使用Command對象來直接執行命令,或者將一個Command對象的引用傳遞給DataAdapter,它儲存了一組能夠操作下面描述的一組資料的命令。Command對象成功與資料建立串連後,就可以用Command對象來執行查詢、修改、插入、刪除等命令;Command對象常用的方法有ExecuteReader()方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入資料可用ExecuteNonQuery()方法來執行插入命令 DataReader類許多資料操作要求開發人員只是讀取一串資料。DataReader對象允許開發人員獲得從Command對象的SELECT語句得到的結果。考慮效能的因素,從DataReader返回的資料都是快速的且只是“向前”的資料流。這意味著開發人員只能按照一定的順序從資料流中取出資料。這對於速度來說是有好處的,但是如果開發人員需要操作資料,更好的辦法是使用DataSet。 DataSet對象DataSet對象是資料在記憶體中的表示形式。它包括多個DataTable對象,而DataTable包含列和行,就象一個普通的資料庫中的表。開發人員甚至能夠定義表之間的關係來建立主從關係(parent-child relationships)。DataSet是在特定的情境下使用――協助管理記憶體中的資料並支援對資料的斷開操作的。DataSet是被所有Data Providers使用的對象,因此它並不像Data Provider一樣需要特別的首碼。 DataAdapter類某些時候開發人員使用的資料主要是唯讀,並且開發人員很少需要將其改變至底層的資料來源。同樣一些情況要求在記憶體中快取資料,以此來減少並不改變的資料被資料庫調用的次數。DataAdapter通過斷開模型來協助開發人員方便的完成對以上情況的處理。當在一單批次的對資料庫的讀寫操作的持續的改變返回至資料庫的時候,DataAdapter 填充(fill)DataSet對象。DataAadapter包含對連線物件以及當對資料庫進行讀取或者寫入的時候自動的開啟或者關閉串連的引用。另外,DataAdapter包含對資料的SELECT、INSERT、UPDATE和DELETE操作的Command對象引用。開發人員將為DataSet中的每一個Table都定義DataAadapter,它將為開發人員照顧所有與資料庫的串連。所以開發人員將做的工作是告訴DataAdapter什麼時候裝載或者寫入到資料庫 DataTable類DataTable 是一個資料格控制項。它可以被應用在 VB 和 ASP 上。它無須代碼就可以簡單的綁定資料庫。它具有微軟風格的使用者介面。DataTable的執行個體化以及添加列:DataTable dt = new DataTable();dt.Columns.Add("ID");dt.Columns.Add("Name");DataRow dr = dt.NewRow();object[] objs = { 1, "Name" };dr.ItemArray = objs;dt.Rows.Add(dr);this.dataGridView1.DataSource = dt;

 內容來自百度百科

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.