MVC:模板:
总结
SqlDataAdapter:
1.用于填充 DataSet 和更新 SQL 数据库的“一组”数据命令和“一个”数据库连接。
2.SqlDataAdapter不但可以操作多个SQL命令,而且还可以操作一个SQL命令
3.DataSet是关系型数据库的抽象,ADO.NET使用DataAdapter(意为数据适配器)作为dataset和数据源之间的桥梁;DataAdapter 提供了Fill()方法从数据库中获取数据并生成DataSet。
4.SqlDataAdapter用于把数据放到DataSet中,集中修改、删除后,通过Update把整个DataSet再提交回给数据库进行处理
SqlCommand:
1.对 SQL 数据库执行的“一个”SQL 语句或存储过程。
2.SqlCommand只能操作一个SQL命令
3.SqlCommand用来更新少量数据时比较合适,速度快,使用方便。他是执行sql语句查询的。
SqlDataReader 高效,功能弱,只读访问
SqlDataAdapter 强大,要求资源也大一点
SqlDataReader 只能在保持跟数据库连接的状态下才可以读取。。。
SqlDataAdapter 大多情况下是一次性读取一个表,然后填充到DataSet中,然后就可以断开跟数据库的连接了。
两者区别主要是 在线 和 离线 的区别。。。。。
一:
SqlDataReader rd;
rd=cmd.ExecuteReader();
比较高效,如果只是显示数据,当然要用这个
二:
SqlDataAdapter adapter=new SqlDataAdapter(cmd);
ADO.Net里有两类,连线 离线
离线的就是DataSet等,可以把数据取出来放进去,然后断开连接,节省服务器资源
当你在本地做了更改后,再连上数据库进行更新
这种取数据和更新数据的工作就是由SqlDataAdapter做的,他是“延长的电线”--这个比喻好像出自《ado.net技术内幕》
SqlDataReader //基于连接,只读访问 适合数据量较小
SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点
SqlDataReader像一个链表一样,只能往一个方向读数据
SqlDataAdapter的功能就像他们说得非常强大了
1.SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到。
2.SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作