DataSet/DataTable
DataSet是数据集,DataTable是数据表,DataSet存储多个DataTable。
DataSet功能强大有浏览、排序、搜索、过滤、处理分级数据、缓存更改等功能,还可以与XML数据互换。
命名空间
using System.Data;
DataSet
创建
DataSet ds=new DataSet();//创建没有名字的DataSet
DataSet ds=new DataSet(string dataSetName);//创建名字为dataSetName的DataSet
添加表
ds.Tables.Add(dt);
表数量
int len=ds.Tables.Count;
访问表中数据
ds.Tables[0].Rows[0]["id"];//
ds.Tables[0].Rows[0][0];//
存储/读取
//这些方法datable同样有
//写入文件(数据和框架)
ds.WriteXml(string filename);//该方法有八个重载,这个是最方便的一个
//写入文件(框架)
ds.WriteXmlSchema(string filename);//该方法有八个重载,这个是最方便的一个
//读取文件(数据和框架)
ds.ReadXml(string filename);//该方法有八个重载,这个是最方便的一个
//读取文件(框架)
ds.ReadXmlSchema(string filename);//该方法有八个重载,这个是最方便的一个
DataTable
创建表
//方法一
DataTable dt=new DataTable();不带參数初始化
//方法二(推荐)
DataTable dt=new DataTable(string tableName);用指定的表名初始化
//方法三
DataTable dt=new DataTable(string tableName, string tableNamespace);用指定的表名和命名空间初始化
增
增加列
//方法一(推荐)
dt.Columns.Add("column0", System.Type.GetType("System.String"));
//方法二
dt.Columns.Add();
//方法三
dt.Columns.Add("columnname");
//方法四
DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));
dt.Columns.Add(dc);
增加行
//方法一(推荐)
dt.Rows.Add("3456", "hfjfkd");//直接按照顺序添加一行,数据顺序必须按照column的顺序
//方法二
DataRow dr = dt.NewRow();
dr["id"] = "123";//按照column名
dr[1] = "abcd";//按照索引
dt.Rows.Add(dr);
插入
DataRow dr = dt.NewRow();
dr["id"] = "123";
dr[1] = "abcd";
dt.Rows.InsertAt(dr, 0);
复制
//复制数据和结构
DataTable dt2 = new DataTable();
dt2 = dt.Copy();
//复制结构
DataTable dt2 = new DataTable();
dt2 = dt.Clone();
删除行
//方法一(推荐)
//使用按照索引
dt.Rows.RemoveAt(0);
//方法二
dt.Rows.Remove(dt.Rows[0]);
查
查询行/赋值和取值(按照索引或者列名)
dt.Rows[0][0] = "张三"; //通过索引赋值
dt.Rows[0]["id"] = "112233";//通过列名赋值
筛选(按照条件查询)
//如果的多条件筛选,可以加 and 或 or
DataRow[] drs = dt.Select("id = '1234'");
常见属性
表名
string tablename=dt.TableName;
清空数据
dt.Clear();
总行数/总列数
int len_rows=dt.Rows.Count;
int len_clos=dt.Columns.Count;