SqlDataReader和SqlDataAdapter+DataSet 区别
来源:互联网 发布:康泰尔a1丝绕线数据 编辑:程序博客网 时间:2024/05/15 12:42
SqlDataReader和SqlDataAdapter+DataSet 区别
http://space.itpub.net/26481450/viewspace-735928
一,SqlDataReader //基于连接,只读访问适合数据量较小。
SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点
二,SqlDataAdapter读取数据后将数据集放入DataSet,DataSet 的数据存在本地客服机内存。
三,SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到。
SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作
四,写法上不同:
SqlDatReader执行前须先打开数据库,然后须生成一个COMMAND对象。再由COMMAND.EXECUTEREADER()方法赋值。完成后须手动关闭联接。
SqlCommand cmd = new SqlCommand("select * from stu", conn);
conn.Open();
SqlDataReader rdr = cmd.ExecuteReader();
。。。。。
conn.close();
SqlDataAdapter执行时,自动打数据库,且不用Command的ExecuteReader方法进行赋值,完成后自动断开联接。
SqlDataAdapter adptr = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
adptr.Fill(ds, "stu");
实例:
1,运用SqlDataReader读取数据
class DataReader
{
static void Main()
{
string str = "server=localhost;uid=sa;pwd=123;database=northwind";
SqlConnection conn = new SqlConnection(str);
SqlCommand cmd = new SqlCommand("select * from stu", conn);
conn.Open();
SqlDataReader rdr = cmd.ExecuteReader();
DataTabletable=new Datable();
table.Load(rdr);
rdr.Close();
conn.Close();
}
2,运用SqlDataAdapter +DataSet读取修改数据
class SqlDataAdapter
{
static void Main()
{
string str ="server=localhost;uid=sa;pwd=123;database=northwind";
SqlConnection conn = new SqlConnection(str);
string sql = "select * from stu";
SqlDataAdapter adptr = new SqlDataAdapter(sql, conn);//Adepter对象
DataSet ds = new DataSet();//DataSet对象
adptr.Fill(ds, "stu");//填充DataSet并为当前表命名
DataTableReader rdr = ds.CreateDataReader();
while (rdr.Read())//读取表中数据
{
for (int i = 0; i < rdr.FieldCount; i++)
{
Console.Write(rdr.GetName(i) + "\t" + rdr.GetValue(i) +"\t");
}
Console.WriteLine();
}
}
- SqlDataReader和SqlDataAdapter+DataSet 区别
- SqlDataReader和SqlDataAdapter 区别
- SqlDataReader和SqlDataAdapter 区别
- SqlDataReader和SqlDataAdapter 区别
- SqlDataReader和SqlDataAdapter 区别
- SqlDataReader和SqlDataAdapter 区别
- SqlDataAdapter和SqlDataReader区别
- SqlDataReader 与SqlDataAdapter+DataSet 的区别
- DataSet,SqlDataAdapter,SqlCommand,SqlDataReader
- SqlDataReader SqlDataAdapter DataSet
- C# SqlDataAdapter和SqlDataReader的区别
- sqldataReader,sqldataAdapter,DataSet的使用
- DataSet、SqlDataAdapter、SqlCommand、ExecuteNonQuery、SqlDataReader
- sqlconnection,sqlcommand,sqldataadapter,sqldatareader,dataset
- SqlDataReader,SqlDataAdapter区别
- SqlDataReader和SqlDataAdapter
- SqlDataAdapter和SqlDataReader
- SqlDataReader和SqlDataAdapter
- count(*) 和 count(1)和count(列名)区别
- 菜鸟:IOS 学习:磨难记(第一天)
- UILabel 详细说明
- 编写Linux用户空间驱动程序
- 菜鸟:IOS 学习:磨难记 (第二天)
- SqlDataReader和SqlDataAdapter+DataSet 区别
- Android_launcher的源码详细分析
- 怎么选择运放
- 这几天学习总结
- 步步测试完善Java中Socket通信图解法(三)
- 遇到的问题java
- 优秀的WEB开发人员应该知道的10件事
- Web前端性能优化经验分享
- Android 4.0 Launcher源码分析系列(一)