DataSet和DataTable的区别

本文介绍了DataTable和DataSet这两种数据容器的概念及应用。详细解释了如何利用它们来提高客户端速度并减轻数据库的压力,并通过示例展示了如何将查询结果放入DataSet和DataTable中。

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

DataTable和DataSet都可以看做是数据容器,比如你查询数据库后得到一些结果,可以放到这种容器里,用这两个容器有什么好处呢?


这种容器的功能很强大,除了可以存数据,还可以有更大用途。例如:在一个c/s结构的桌面数据库系统里,你可以把前面存放查询结果的容器里的数据显示到你客户端界面上,用户在界面上对数据进行添加、删除、修改,你可以把用户的操作更新到容器,等用户操作完毕了,要求更新,然后你才把容器整个的数据变化更新到中心数据库,这样做的好处是什么?就是减少了数据库操作,客户端速度提高了,数据库压力减小了。


DataSet可以比作一个内存中的数据库,可以包括表,视图等。DataTable是一个内存中的数据表,DataSet里可以存储多个DataTable。


例如;以下代码,就是将数据结果放到了DataSet中,这个也是比较常见的写法,最后返回查询到的结果集。

  public static DataSet Query(string SQLString)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                DataSet ds = new DataSet();
                try
                {
                    connection.Open();
                    SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
                    command.Fill(ds, "ds");
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    throw new Exception(ex.Message);
                }
                return ds;
            }
        }

 下面的代码将查询到的数据结果放到DataTable中,DataTable就相当于一张数据表,最后将数据结果绑定到DropDownList控件中。

        protected void BindDropDownList_Frame1()
        {
            DropDownList_Frame2.Items.Clear();
            ListItem item = new ListItem("请选择...", "-1");
            DropDownList_Frame2.Items.Add(item);
            sqlDataEmployee sde = new sqlDataEmployee();
            DataTable dt = sde.GetFrame1();
            DropDownList_Frame2.DataSource = dt;
            DropDownList_Frame2.DataTextField = "Frame2";
            DropDownList_Frame2.DataValueField = "Frame2";
            DropDownList_Frame2.DataBind();
        }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值