文章目錄
1.ADO.NET詳解
2.ADO.NET的優點
3.ADO.NET文件物件模型
1.1ADO.NET詳解
ADO.NET是一種基於標準的程式設計模型,可以用來建立分布式應用以實現資料共用
在ADO.NET中,DataSet佔據重要地位,它是資料庫裡部分資料在記憶體中的拷貝。與ADO
中的RecordSet不同,DataSet可以包括任意個資料表,每個資料表都可以用於表示自某個資料庫表或視圖
的資料。DataSet駐留在記憶體中,且不與原資料庫相連,即無需與原資料庫保持串連
完成工作的底層技術是XML,它是DataSet所採用的儲存和傳輸格式。在運行期間,組件
(如某個商務邏輯對象或asp.net web表單)之間需要交換DataSet中的資料。資料以XML檔案的形式從一個組件
傳輸給另一個組件,由接收組件將檔案還原為DataSet形式。DataSet的有關方法與關係資料模型完全一樣
2.1ADO.NET的優點
2.1.1互通性
2.1.2可維護性
2.1.3可程式化性
2.1.4高效能
2.1.5可擴充性
3.1ADO.NET文件物件模型
ADO.NET主要包括兩個部分,即DataSet和Managed Provider。DataSet由一個RelationsCollection和一個TablesCollection
組成。TablesCollection中的每一個DataTable都包括Columns集和Rows集
3.1.1DataTable
向DataSet中加入一個DataTable: DataSet myDataSet = new DataSet(); myDataSet.Tables.Add(new DataTable("Products"));
允許在一個表的列集中建立多個DataColumn,包括:
DataSet myDataSet = new DataSet(); DataColumn[] keys = new DataColumn[1]; myDataSet.Tables.Add(new DataTable("Products")); myDataSet.Tables["Products"].Columns.Add("ID",Type.GetType("System.Int32")); myDataSet.Tables["Products"].Columns.Add("Name", Type.GetType("string")); myDataSet.Tables["Products"].Columns.Add("Cost", Double); keys[0] = myDataSet.Tables["Products"].Columns["ID"]; myDataSet.Tables[0].PrimaryKey = keys;
資料行是DataTable的子項目,用於表示原資料庫中的一行資料,有一個RowState屬性。
DataSet myDataSet = new DataSet(); DataColumn[] keys = new DataColumn[1]; myDataSet.Tables.Add(new DataTable("Products")); myDataSet.Tables["Products"].Columns.Add("ID",Type.GetType("System.Int32")); myDataSet.Tables["Products"].Columns.Add("Name", Type.GetType("string")); myDataSet.Tables["Products"].Columns.Add("Cost", Double); keys[0] = myDataSet.Tables["Products"].Columns["ID"]; myDataSet.Tables[0].PrimaryKey = keys; DataRow myRow = null; myRow = myDataSet.Tables[0].NewRow(); myRow["ID"] = 1; myRow["Name"] = "wangdi"; myRow["Cost"] = 19.58; myDataSet.Tables[0].Rows.Add(myRow);
3.1.2資料關係
3.1.3約束