總結.NET開發中ADO.NET的應用_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:關于Gridview的多種使用方法總結
      asp.net中 Gridview的多種使用方法總結,具體如下面 截圖,并包括詳細源代碼注釋,需要的請下載。 1:在Gridview中無須編寫后臺代碼,直接實現增除刪改 2:在Gridview中添加新記錄 3:在Gridview中實現編輯和更新操作 4:在Gridview中實現一次性更新所有記錄

      一、DataTable
      DataTable表示內存中數據的一個表,它完全是在內存中的一個獨立存在,包含了這張表的全部信息。DataTable可以是從通過連接從數據庫中讀取出來形成的一個表,一旦將內容讀到DataTable中,此DataTable就可以跟數據源斷開而獨立存在;也可以是完全由程序自己通過代碼來建立的一個表。
      ◆ DataColumn
      一個表是由行和列組成的一個兩維的結構。表的結構是由DataColumn對象的集合組成,DataColumn對象集合可由DataTable.Columns屬性中能獲取到,通過定義每一列的數據類型來確定表的架構,類似數據庫中定義表。定義完表的結構就可以根據結構來生成DataRow,用DataTable.NewRow()方法來生成此DataTable結構的新行。
      一個DataTable是由DataRow的集合組成的,DataRow的集合這個可以由DataTable.Rows屬性來訪問。
      DataTable還可以通過現有的列用Expression屬性的表達式創建一些列。
      1、創建計算出的列
      比如:已經有了一個表結構,表中有一個DataColumn的集合,其中有一個叫UnitPrice的列,你可以新建一個DataColumn,設置好ColumnName,再設置此列的表達式,DataColumn.Expression="UnitPrice * 0.086",這個列的值就是名字為UnitPrice的列計算出來的,在創建表達式時,使用ColumnName屬性來引用列。 
      2、第二個用途是創建聚合列
      聚合列聚合通常沿著關系執行(有關關系的描述見下面DataRelation部分),如果order表有名為detail 的子表,兩個表之間通過order.orderid和detail.orderid兩個列建立一個關系DataRelation對象名為“order2detail”,在主表order中就可以建立一個聚合列,將計算每個order在detail表中含有的所有item的價格的和:DataColumn.Expression = “sum(child(order2detail).price)",child(order2detail)表示通過關系order2detail聯系到的子表,child(order2detail).price就表示子表的price列。 
      ◆ DataRow 
      DataRow對象沒有直接在代碼中使用的構造函數,一般是從具有一定結構的DataTable用NewRow()方法來新建一個DataRow對象。一個DataRow根據其是獨立的,還是屬于某個DataTable,是否修改過,是否被DataTable刪除等等不同的情況有不同的狀態,由DataRow.RowState屬性公開,如下表: 
      成員名稱 說明
      Added該行已添加到DataRowCollection中,AcceptChanges 尚未調用。Deleted該行已通過DataRow的Delete方法被刪除。
      Deleted 該行已通過DataRow的Delete方法被刪除。
      Detached 該行已被創建,但不屬于任何DataRowCollection。DataRow 在以下情況下立即處于此狀態:創建之后添加到集合中之前;或從集合中移除之后。
      Modified 該行已被修改,AcceptChanges 尚未調用。 
      Unchanged 該行自上次調用 AcceptChanges 以來尚未更改。 
      一個DataRow對象剛被創建之后其狀態是Detached,是孤立的一個存在,所以建立了DataRow之后在DataRow中的單元填充了數據后還要通過DataTable.Rows.Add(DataRow)方法將此DataRow添加到DataTable,DataRow添加到DataTable后, 這個DataRow的狀態就轉變為Added。當修改了這個DataRow后,這個DataRow狀態轉為Modified,當用DataRow.Delete()方法刪除DataRow后,DataRow狀態將轉為Deleted,不過此行還存在在DataTable中的,只是狀態改變了,這時用DataTable.Rows.Count查看行數,跟刪除前是一樣的。只有在調用了DataTable.Remove(DataRow)方法后,此DataRow才被從DataTable移除,狀態也回復到Detached孤立狀態。 
      一旦調用了DataTable.AcceptChanges()方法后,所有的行將根據不同的狀態做不同的處理,Added、Modified、Unchanged將保留當前值,Deleted的行將從DataTable中移除,最后所有的行的狀態都置為Unchanged。當DataTable是從DataAdapter.Fill(
      DataSet,DataTable)方法填充而形成的,Fill()方法將自動調用AcceptChanges()方法,將DataTable的行狀態都置為Unchanged。并且,如果Fill方法中指定的那個DataTable在要填充的那個DataSet不存在時,會生成一個跟數據源表同樣的結構的DataTable并填充數據。 
      ◆ DataRelation 
      表示兩個DataTable對象之間的父/子關系。可以類比于數據庫中的表之間的關系,父表相當于關系列為主鍵的表,子表相當于關系列為外鍵的表。DataRelation 構造函數一般為:DataRelation(String, DataColumn, DataColumn) ,string為關系名,第一個DataColumn為建立關系的父表列,第二個DataColumn為建立關系的子表列,建立關系的兩個列的 DataType 值必須相同。 
      建立好了關系,必須把這個關系加入到DataTable的ParentRelations屬性或ChildRelations 屬性,這兩個屬性包含這個表的所有的跟父表的關系和跟子表的關系。若關系中此表是父表則將此關系加入到ChildRelations集合中,否則加入到ParentRelations集合中。

      分享:String.Empty、NULL、“”的不同之處
      在asp.net(c#)中 String.Empty、NULL、 3個語法 經常使用,作用是判斷字符串是否為空。 本文就它們彼此的不同之處做一粗略說明。 string.Empty就相當于 一般用于字符串的初始化 比如: stringa; Console.WriteLine(a);//這里會報錯,因為沒有初始化a 而下

      共6頁上一頁123456下一頁
      來源:模板無憂//所屬分類:.Net教程/更新時間:2010-05-21
      相關.Net教程