一、存储的对比
DataReader 从数据库中检索【只读】数据流,存在客户端网络缓冲区,直到Read方法访问它们。
DataAdapter 表示一组SQL命令和数据库连接,用于填充DateSet和【更新】数据源
DataSet 存在内存中的数据缓存,可包含多个DataTable
DataTable 内存中的数据表
二、优缺点
|
优点 |
缺点 |
DataReader |
占内存小,只读 |
需要独占连接,只读 |
DataAdapter |
一次性读取,可以增删改查 |
占内存,数据量大不适合 |
三、搭配使用
DataReader与SqlCommand搭配使用。可向DataTable里存入数据。
DataAdapter 与 DataSet搭配使用。DataSet可再存入DataTable。
四、最简单实例
//SQL Server数据库
// DataReader //设连接有效,数据不为空 SqlCommand command = new SqlCommand("SELECT id FROM dbo.bu" , connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader.GetInt32(0)); } reader.Close();
// DataAdapter DataSet //设连接有效,数据不为空 SqlDataAdapter adapter = new SqlDataAdapter("SELECT id FROM dbo.bu ", connection); DataSet customers = new DataSet(); adapter.Fill(customers, "bu");