C# Datatable/Dataset


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;

 

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ab13653777822

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值