您的位置:首页 > 其它

DataSet和DataTable区别和用法

2014-06-06 14:02 323 查看
你可以把DataTable和DataSet看做是数据容器,比如你查询数据库后得到一些结果,可以放到这种容器里,那你可能要问:我不用这种容器,自己读到变量或数组里也一样可以存起来啊,为什么用容器?

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

DataSet可以比作一个内存中的数据库,DataTable是一个内存中的数据表,DataSet里可以存储多个DataTable

DataSet:数据集。一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable

DataTable:数据表。

一:

SqlDataAdapter da=new SqlDataAdapter(cmd);

DataTable dt=new DataTable();

da.Fill(dt);

-----------------

直接把数据结果放到datatable中,

二:

SqlDataAdapter da=new SqlDataAdapter(cmd);

DataSet dt=new DataSet();

da.Fill(dt);

----------------

数据结果放到dataset中,若要用那个datatable,可以这样:dataset[0]

更常见的用法:

SqlDataAdapter da=new SqlDataAdapter(cmd);

DataSet dt=new DataSet();

da.Fill(dt,"table1");

用的时候:这样取datatable:

dataset["table1"]

向DataTable中手动添加行内容,并进行绑定、更新、排序DataTable dt = new DataTable();

DataRow dr;

dt.Columns.Add(new DataColumn( "整数值 ", typeof(Int32)));

dt.Columns.Add(new DataColumn( "字符串值 ", typeof(string)));

dt.Columns.Add(new DataColumn( "日期时间值 ", typeof(DateTime)));

dt.Columns.Add(new DataColumn( "布尔值 ", typeof(bo
4000
ol)));

for (int i = 1; i <= 9; i++) {

dr = dt.NewRow();

dr[0] = i;

dr[1] = "项 " + i.ToString();

dr[2] = DateTime.Now;

dr[3] = (i % 2 != 0) ? true : false;

dt.Rows.Add(dr);

}

dataGrid1.DataSource = new DataView(dt);

dataGrid1.DataBind();更多的操作:1.创建表及插入列

DataTable dt=new DataTable();


dt.Colunmns.Add("Name",System.Type.GetType("System.String"));
2.插入行


DataRow newrow = dt.NewRow();


newrow[0]="aa";


dt.Rows.Add(newrow);
3.排序


DataView dv = dt.DefaultView;


dv.Sort = "Name Desc";


DataTable dt1 = dv.ToTable();
4.指定位置插入行

DataTable dt = new DataTable("表名");

DataRow dr = dt.NewRow();

dr[0]="安江联社户外模";

dr[1] = "555";

dr[2] = "200707";

dr[3] = "0.00";

dr[4] = "0.00";

dr[5] = "0.00";

dr[6] = "0.00";

dt.Rows.Add(dr); //在最後插入行

dtb1.Rows.InsertAt(dr,j); //j为指定的行的位置插入;

dataGridView1.DataSource = dt;

 

转载来源:其他网站
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: