c#中,对DataSet、DataTable的操作
来源:互联网 发布:吴江法院淘宝拍卖网 编辑:程序博客网 时间:2024/06/11 08:07
DataSet ds = new DataSet("ds_zhaozhenlong");
//使用GetChanges方法产生一个DataSet修改后的对象的DataSet集合。
DataSet chDs;
chDs = ds.GetChanges;
//如果在更改ds数据的过程中发生错误,使用DataSet对象的Merge方法把检测无错误发生的修改后的DataSet合并入原先的DataSet中
,代码如下:
ds.Merge(chDs);
//确认修改
ds.AcceptChanges();
ds.Tables.Add(new DataTable("tb_zhaozhenlong"));
ds.Tables["tb_zhaozhnelong"].Columns.Add("c1", GetType("String"));
ds.Tables["tb_zhaozhnelong"].Columns.Add("c2", GetType("String"));
ds.Tables["tb_zhaozhnelong"].Columns.Add("c3", GetType("Int32"));
ds.Tables["tb_zhaozhnelong"].PrimaryKey = new DataColumn("c1");
ds.Tables["tb_zhaozhnelong"].PrimaryKey = new DataColumn("c2");
DataColumn[] dc_r;
dc_r[0] = ds.Tables["tb_zhaozhenlong"].Columns["c1"];
dc_r[1] = ds.Tables["tb_zhaozhenlong"].Columns["c2"];
DataColumn[] dc_rd;
dc_rd[0] = ds.Tables["tb_detail"].Columns["c1"];
dc_rd[1] = ds.Tables["tb_detail"].Columns["c2"];
ds.Relations.Add("fk_zhaozhenlong", dc_r, dc_rd);
//DataRow[] dr = ds.Tables["tb_zhaozhenlong"].ChildRelations["fk_zhaozhenlong"].GetChildRow(ds.Table
["tb_zhaozhenlong"].Rows[0]);
//一致性约束
ForeignKeyConstraint fk_1 = new ForeignKeyConstraint(dc_r, dc_rd);
fk_1.UpdateRule =Default;
ds.Tables["tb_zhaozhenlong"].Constraints.Add(fk_1);
/*
ForeignKeyConstraint有五个可能的值如下:
?Cascade 当表中记录被删除或者更新以后,对应表中的记录相应被删除和更新
?SetNull 当表中记录被删除或者更新以后,对应表中的记录被置为Null
?SetDefault 当表中记录被删除或者更新以后,对应表中的记录被置为缺省值
?None 当表中记录被删除或者更新以后,对应表中的记录不做任何处理
?Default 当表中记录被删除或者更新以后,ForeignKeyConstraint采用其缺省值,通常该值为Cascade
*/
//唯一性约束
UniqueConstraint uc_1 = new UniqueConstraint(ds.Tables["tb_zhaozhenlong"].Columns["c1"]);
ds.Tables["tb_zhaozhenlong"].Constraints.Add(uc_1);
//二、对 DataTable的操作
DataTable my_tb = new DataTable("MyTable");
DataColumn dc0 = new DataColumn("c0", System.Type.GetType("Int32"));
//自动递增
dc0.AutoIncrement = true;
dc0.AllowDBNull = false;
dc0.Unique = true;
my_tb.Columns.Add(dc0);
my_tb.PrimaryKey = dc0;
DataColumn dc1 = new DataColumn("c1", System.Type.GetType("Double"));
DataColumn dc2 = new DataColumn("c2", System.Type.GetType("Double"));
//表达式
my_tb.Columns.Add("c3", System.Type.GetType("Double"), ("c1+c2") * 0.2);
my_tb.Columns.Add(dc1);
my_tb.Columns.Add(dc2);
my_tb.CaseSensitive = false;
my_tb.MinimumCapacity = 4000;
ds.Tables.Add(my_tb);
//
int i=0, n = 10;
DataRow dr ;
for (i; i < n; i++)
{
dr = my_tb.NewRow();
dr["c1"] = 2;
dr["c2"] = 4;
my_tb.Rows.Add(dr);
}
//
my_tb.Rows.Remove(4);
//delete+acceptChanges = Remove
my_tb.Rows[2].Delete;
my_tb.AcceptChanges();
//my_tb.RejectChanges();
/*
* 对于DataTable中的每一个Row,它都可能有三种状态:Original、Current、Preposed。
* Original状态是指当数据第一次被加入到数据表中时候的状态。
* Current态指经过多次改变Original数据后得到的Row。
* Preposed态存在于一个相当短暂的时期,它是由original态过渡到Current态时的中间状态,
* 一个明显的例子是对数据进行修改而尚未完成时,开始是Original态,完成后是Current态,而这之间就是Preposed态。
*/
- c#中,对DataSet、DataTable的操作
- C#中对datatable的操作
- C#中对DataTable的操作
- c#中DataTable和DataSet的区别
- C#一个DataSet中存入多个DataTable的方法
- C# 将多个DataTable添加到指定的DataSet中
- c#对excel,datatable数据库的操作
- C# 同类dataSet 合并到dataTable中
- C#中DataSet和DataTable区别
- C#中DataSet、DataTable、DataRow一些例子
- DataTable中对DataRow的操作
- C#中DataTable、Dataset转Json和Json转DataTable
- C#中DataTable的一些常用操作
- C# DataTable与DataSet的学习
- LINQ to DataSet的DataTable操作
- C# DataSet&DataTable
- 我的C#之路-dataset、datatable的绑定、清空、添加、删除等操作
- dataset 操作datatable
- DIV+CSS仿网易的滑动门技术AJAX
- Linux2.6版本内核下驱动程序移植参考
- 网页制作辅助软件
- 歌词1983
- Types of C++ Inheritance: public protected private
- c#中,对DataSet、DataTable的操作
- 使用screen管理会话
- .Net调用Java端带有WS-Security支持的Web Service各方案实战
- 给iPhone用户敲响警钟!赶快修改你的root密码!
- VC遍历窗体控件的实现
- VB 中遍历目录,遍历目录查找文件的2个实现方法(挺好)
- C#压缩与解压文件源码
- 人民币大小写转换 & 四舍五入函数
- 项目经理的三件事