DataSet、DataTable、DataRow、DataColumn区别及使用实例
DataSet里可以放多个DataTable,这就是平时我们再给ds赋完值之后会判断一下ds.table[0].Rows.count>0的原因,要指明是哪个table,其次就是DataTable里是由两部分组成的,一个是DataColumn,一个是DataRow.
DataSet
表示数据在内存中的缓存。
属性
Tables 获取包含在 DataSet 中的表的集合。
ds.Tables["sjxx"]
DataTable
表示内存中数据的一个表。
公共属性
Columns 获取属于该表的列的集合。
DataSet 获取此表所属的 DataSet。
DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图。
PrimaryKey 获取或设置充当数据表主键的列的数组。
Rows 获取属于该表的行的集合。
TableName 获取或设置 DataTable 的名称。
DataRow
表示 DataTable 中的一行数据
row["index"]
DataColumn
表示 DataTable 中列的架构。
DataTable与DataSet常用操作实例
//创建DataSet
DataSet ds = new DataSet();
//创建DataTable
DataTable dt = new DataTable();
dt.Columns.Add("id",Type.GetType("System.Int32"));
dt.Columns["id"].AutoIncrement = true;
dt.Columns.Add("name",Type.GetType("System.String"));
//插入行
DataRow dw1 = dt.NewRow();
dw1["name"] = "test1";
dt.Rows.Add(dw1);
DataRow dw2 = dt.NewRow();
dw2["name"] = "test2";
dt.Rows.InsertAt(dw2,0);
//将DataTable添加到DataSet中
ds.Tables.Add(dt);
//DataTable中查询
DataTable dt = new DataTable();
DataRow dr[] = dt.Select("1 = 1");
//DataTable更新
DataTable dt = (DataTable)HttpContext.Current.Cache["MYCACHE"];
DataRow[] dr = dt.Select("1 = 1");
if (dr.Length > 0)
{
dr[0]["colName"] = "colValue";
}
//统计
object o = dt.Compute("SUM(col_name)", "1=1");
//首先创建一个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);