C# 关于DataSet, DataTable, DataRow 和DataColumn的区别和用法

今天做项目的时候有个地方需要在后台重组一下数据集,自然而然就会想到去重组一个DataSet出来了,因为做过的项目比较少,所以以前也没有遇到相关的情况,趁着这个机会自己也学习一下。

下面先用图例展示一下这四者的关系。其实很好理解。

wKiom1MEZ7uhwZkLAADJ1s1kVtI852.jpg

如图,DataSet里可以放多个DataTable,这就是平时我们再给ds赋完值之后会判断一下ds.table[0].Rows.count>0的原因,要指明是哪个table,其次就是DataTable里是由两部分组成的,一个是DataColumn,一个是DataRow,在我理解看来两者没有包含关系,非要说个联系出来,我觉得算是交叉吧,下面用代码来说明一下可能更一目了然些。

比如说我们要创建一个DataTable表,里面有[姓名],[年龄],[性别],[兴趣]这四列。

//首先创建一个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中的第一个数据表里有一条上述的记录。

不一定要像我上面写的那样实现,实现的方法有多种,根据项目的情况去选择用哪种。


你可能感兴趣的:(C#,Datatable,dataset,DataRow,DataColumn)