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约束