DataSet和DataTable的区别
DataTable和DataSet都可以看做是数据容器,比如你查询数据库后得到一些结果,可以放到这种容器里,用这两个容器有什么好处呢?这种容器的功能很强大,除了可以存数据,还可以有更大用途。例如:在一个c/s结构的桌面数据库系统里,你可以把前面存放查询结果的容器里的数据显示到你客户端界面上,用户在界面上对数据进行添加、删除、修改,你可以把用户的操作更新到容器,等用户操作完毕了,要求更新
·
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();
}
更多推荐
已为社区贡献1条内容
所有评论(0)