Asp.net中SqlDataAdapter和SqlCommand对比分析

本文介绍两种常见的SQL数据交互方式:SqlDataAdapter与DataSet用于批量数据操作,而SqlCommand与SqlDataReader适用于快速逐行读取数据。文章提供了具体的代码示例,展示了如何实现数据的获取和展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值