• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.net中SqlDataAdapter和SqlCommand对比分析

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

SqlDataAdapter和DateSet原理:DateSet是数据的内存驻留表示形式,它提供了独立于数据源的一致关系编程模型;从某种程度上说DateSet就是一个不可视的数据库。但真正与数据源打交道的是SqlDataAdapter,包括从数据源填充数据集和从数据集更新数据源。SqlDataAdapter使用Fill()方法将检索的数据填充到DateSet。流程:IE——GridView——DataSet——SqlDataAdapter——SQL数据库 

public void BindGrid()
{
    SqlDataAdapter myAdp 
= new SqlDataAdapter("select * from UserAdmin order by UserId desc", conn);
    DataSet ds 
= new DataSet();
    myAdp.Fill(ds, 
"Authors");
    
//Label1.Text = ds.Tables[0].Rows.Count.ToString();     
    
//得到共有多少条记录;    
    GridView1.DataSource = ds.Tables["Authors"].DefaultView;

    GridView1.DataBind();
}


二、SqlCommand和SqlDataReade原理:SqlCommand通过ExecuteReader()方法将得到的数据给SqlDataReade对象。SqlDataReade逐行将从数据源获得的数据放进缓冲区进行处理。优点:SqlDataReade执行速度快,提高应用程序性能。优点原因:一旦数据可用,SqlDataReade就会立即检索该数据,而不是等待返回查询的全部结果;默认情况下,一次只在缓冲区存储一行,从而降低系统开销。缺点:使用不灵活。流程:IE——SqlDataReade——SqlCommand——SQL数据库注:每次使用完SqlDataReade对象后一定要调用Close()方法将其关闭。因为SqlDataReade对象以独占的方式使用Connection。例:   
     

SqlCommand myconn = new SqlCommand("select * from v_economy2_comidd where eid=" + Request.QueryString["eid"+ "", conn);
conn.Open();
SqlDataReader rd 
= myconn.ExecuteReader();
rd.Read();

Lbyear1.Text 
= rd["year1"].ToString();
Lbmonth1.Text 
= rd["month1"].ToString();
Lbcom_name.Text 
= rd["com_name"].ToString();

rd.Close();
conn.Close();

区别在于:   
SqlDataAdapter:  
用于填充 DataSet 和更新 SQL 数据库的“一组”数据命令和“一个”数据库连接。  
SqlDataAdapter不但可以操作多个SQL命令,而且还可以操作一个SQL命令  
DataSet是关系型数据库的抽象,ADO.NET使用DataAdapter(意为数据适配器)作为dataset和数据源之间的桥梁;DataAdapter 提供了Fill()方法从数据库中获取数据并生成DataSet。 
SqlCommand:  
对 SQL 数据库执行的“一个”SQL 语句或存储过程。  
SqlCommand只能操作一个SQL命令 
个人觉得SqlCommand用来更新少量数据时比较合适,速度快,使用方便。他是执行sql语句查询的。  
SqlDataAdapter用于把数据放到DataSet中,集中修改、删除后,通过Update把整个DataSet再提交回给数据库进行处理。

转自:http://blog.csdn.net/hcmjf/archive/2008/06/21/2573239.aspx


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
容器化现有ASP.NETMVC5应用发布时间:2022-07-10
下一篇:
Easyui+asp.netMVC系列教程第19-23节完成注销登录限制过滤添加用户 ...发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap