今天做项目的时候有个地方需要在后台重组一下数据集,自然而然就会想到去重组一个DataSet出来了,因为做过的项目比较少,所以以前也没有遇到相关的情况,趁着这个机会自己也学习一下。
下面先用图例展示一下这四者的关系。其实很好理解。
如图,DataSet里可以放多个DataTable,这就是平时我们再给ds赋完值之后会判断一下ds.table[0].Rows.count>0的原因,要指明是哪个table,其次就是DataTable里是由两部分组成的,一个是DataColumn,一个是DataRow,在我理解看来两者没有包含关系,非要说个联系出来,我觉得算是交叉吧,下面用代码来说明一下可能更一目了然些。
比如说我们要创建一个DataTable表,里面有[姓名],[年龄],[性别],[兴趣]这四列。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
//首先创建一个DataTable对象
DataTable dt =
new
DataTable();
//new DataColumn创建了新的一列,并给这列起个列名,Add方法则是把这个新创建的列加入到创建的dt对象中
dt.Columns.Add(
new
DataColumn(
"姓名"
));
dt.Columns.Add(
new
DataColumn(
"性别"
));
dt.Columns.Add(
new
DataColumn(
"年龄"
));
dt.Columns.Add(
new
DataColumn(
"兴趣"
));
//由此我们创建了一个表,并且此表中有四列且分别有自己的名字
//下面我们需要往这个表里添加一些数据
//创建一个DataRow对象,注意这里是用dt的一个NewRow方法指向了dr对象,这样写的作用就是使dr对象成为了dt表的一行记录,并且这一行记录拥有四列
DataRow dr = dt.NewRow();
//分别给各列赋值
dr[
"姓名"
] =
"张三"
;
dr[
"性别"
] =
"男"
;
dr[
"年龄"
] =
"20"
;
dr[
"兴趣"
] =
"打篮球"
;
//将此条记录加入到dt中去
dt.Rows.Add(drTmp);
//将这个DataTable加入到DataSet中去
DataSet ds =
new
DataSet();
ds.Tables.Add(dt);
|
相信看完代码大家都能很好的理解这四个D之间的关系了,最终结果就是ds中的第一个数据表里有一条上述的记录。
不一定要像我上面写的那样实现,实现的方法有多种,根据项目的情况去选择用哪种。
本文转自 我不会抽烟 51CTO博客,原文链接:http://blog.51cto.com/zhouhongyu1989/1360744,如需转载请自行联系原作者