ADO.NET Consumer objects
Dataset:数据存在内存中,DataSet 是一个数据集,包括 DataTable和 DataRelation,而DataTable 中又包含DataRow和DataColumn,当数据读取至DataSet中后,就可以以索引或者表名的方式对DataTable进行CRUD操作。
.NET Data Provider objects
Connection:数据库连接对象。
作用:1、连接数据库;2、创建Command 对象
比如:
SqlConnection thisConnection = new SqlConnection(@"server=.\sqlexpress;Integrated Security = true;Database = C:\SQL SERVER 2000 SAMPLE DATABASES\NORTHWND.MDF");
thisConnection.Open();
SqlCommand thisCommand = thisConnection.CreateCommand();
Command:数据库命令对象,命令类型可以是SQL语句,也可以是存储过程。
比如:
thisCommand.CommandType = CommandType.StoredProcedure;
thisCommand.CommandText = "Ten Most Expensive Products";
CommandBuilder:用于构建SQL命令,常常与DataAdapter对象组合使用,可自动生成SQL语句。
比如:
SqlDataAdapter thisAdapter = new SqlDataAdapter("select CustomerID from Customers", thisConnection);
SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter);
可以获取CommandBuilder对象中自动生成的CRUD方法。
DataReader:用于读取仅能前向和只读的数据量,对于简单的读取数据时,该对象性能最好。
比如:
SqlCommand thisCommand = thisConnection.CreateCommand();
thisCommand.CommandText = "select CustomerID, CompanyName from Customers";
SqlDataReader thisReader = thisCommand.ExecuteReader();
DataAdapter:数据库和内存中的桥梁,读取数据库中的数据来填充DataSet 对象,Fill()方法就是他的。
DataSet thisDataSet = new DataSet();
SqlDataAdapter custAdapter = new SqlDataAdapter("select * from Customers", thisConnection);
custAdapter.Fill(thisDataSet, "Customers");
数据填充至DataSet对象后,便可对其中的某张表进行操作,对某张表的每一行和每一列均可进行CRUD操作。
ADO.NET和XML
可以将DataSet对象的数据写入XML文件:
比如:
DataSet thisDataSet = new DataSet();
orderAdapter.Fill(thisDataSet, "Orders");
thisDataSet.WriteXml(@"d:\tmp\nwinddata.xml");
当然,也可以从XML文件读取数据至DataSet对象:
比如:
DataSet thisDataSet = new DataSet();
thisDataSet.ReadXml(@"d:\tmp\nwinddata.xml");