DataSet相关的一些操作比较全面的代码
2008-11-25 15:09
387 查看
namespace DataSetDemo
{
class DataSetBuilder
{
private DataSet trainingset;
public DataSetBuilder()
{
CreateDataSet();
CreateDataTable();
CreateDataColumns();
CreateDataRows();
CreatePrimaryKey();
CreateUnique();
CreateChildTable();
CreateRelation();
}
public DataSet TrainingDataSet
{
get { return trainingset; }
}
private void CreateDataSet()
{
trainingset = new DataSet("TrainingDataSet");
}
private void CreateDataTable()
{
DataTable trainingtbl = new DataTable("TrainingTable");
trainingset.Tables.Add(trainingtbl);
}
private void CreateDataColumns()
{
DataTable trainingtbl = trainingset.Tables["TrainingTable"];
DataColumn col = trainingtbl.Columns.Add("TrainingCode", typeof(String));
col.AllowDBNull = false;
col = trainingtbl.Columns.Add("TrainingName", typeof(String));
col.AllowDBNull = false;
col = trainingtbl.Columns.Add("Hours", typeof(Int32));
col.AllowDBNull = false;
trainingtbl.Columns.Add("Remark", typeof(String));
}
private void CreateDataRows()
{
DataTable tbl = trainingset.Tables["TrainingTable"];
DataRow row = tbl.NewRow();
row["TrainingCode"] = "0001";
row["TrainingName"] = "Advanced English";
row["Hours"] = 500;
row["Remark"] = "Very Difficult";
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["TrainingName"] = "Using C++";
row["Hours"] = 300;
row["Remark"] = "For freshmen";
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0003";
row["TrainingName"] = "Thinking in Java";
row["Hours"] = 300;
row["Remark"] = "Exciting";
tbl.Rows.Add(row);
tbl.AcceptChanges();
}
private void CreatePrimaryKey()
{
DataTable tbl = trainingset.Tables["TrainingTable"];
DataColumn[] cols = new DataColumn[1];
cols[0] = tbl.Columns["TrainingCode"];
tbl.PrimaryKey = cols;
}
public void CreateUnique()
{
/*
DataTable tbl = trainingset.Tables["TrainingTable"];
tbl.Columns["TrainingName"].Unique = true;
*/
DataTable tbl = trainingset.Tables["TrainingTable"];
if (!tbl.Constraints.Contains("Training_Name_Uni"))
{
UniqueConstraint uc = new UniqueConstraint("Training_Name_Uni", tbl.Columns["TrainingName"]);
tbl.Constraints.Add(uc);
}
}
public void CreateChildTable()
{
if (!trainingset.Tables.Contains("Lessons"))
{
DataTable tbl = new DataTable("Lessons");
tbl.Columns.Add("TrainingCode", typeof(string));
tbl.Columns.Add("SerialNo", typeof(int));
tbl.Columns.Add("Content", typeof(string));
tbl.Columns.Add("Position", typeof(string));
tbl.Columns.Add("LessonTime", typeof(DateTime));
tbl.Columns.Add("Hours", typeof(int));
DataColumn[] keycols = new DataColumn[] { tbl.Columns["TrainingCode"], tbl.Columns["SerialNo"] };
tbl.PrimaryKey = keycols;
trainingset.Tables.Add(tbl);
DataRow row = tbl.NewRow();
row["TrainingCode"] = "0001";
row["SerialNo"] = "1";
row["Content"] = "Lesson 1";
row["Position"] = "G4203";
row["LessonTime"] = DateTime.Parse("2006-10-01 9:00");
row["Hours"] = 3;
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0001";
row["SerialNo"] = "2";
row["Content"] = "Lesson 2";
row["Position"] = "G4203";
row["LessonTime"] = DateTime.Parse("2006-10-02 9:00");
row["Hours"] = 4;
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["SerialNo"] = "1";
row["Content"] = "Part 1";
row["Position"] = "G4101";
row["LessonTime"] = DateTime.Parse("2006-09-22 14:00");
row["Hours"] = 2;
tbl.Rows.Add(row);
tbl.AcceptChanges();
}
}
public void CreateRelation()
{
if (!trainingset.Relations.Contains("TrainingLesson"))
{
DataTable tbl = trainingset.Tables["Lessons"];
DataTable traintbl = trainingset.Tables["TrainingTable"];
DataRelation dr = new DataRelation("TrainingLesson", traintbl.Columns["TrainingCode"], tbl.Columns["TrainingCode"]);
//DataRelation dr = new DataRelation("TrainingLesson", traintbl.Columns["TrainingCode"], tbl.Columns["TrainingCode"],false);
trainingset.Relations.Add(dr);
}
}
public DataSet CreateNewDataSet()
{
DataSet newset = new DataSet();
DataTable tbl = new DataTable("Lessons");
tbl.Columns.Add("TrainingCode", typeof(string));
tbl.Columns.Add("SerialNo", typeof(int));
tbl.Columns.Add("Content", typeof(string));
tbl.Columns.Add("Position", typeof(string));
tbl.Columns.Add("LessonTime", typeof(DateTime));
tbl.Columns.Add("Hours", typeof(int));
DataColumn[] keycols = new DataColumn[] { tbl.Columns["TrainingCode"], tbl.Columns["SerialNo"] };
tbl.PrimaryKey = keycols;
newset.Tables.Add(tbl);
DataRow row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["SerialNo"] = "1";
row["Content"] = "Part One";
row["Position"] = "G4202";
row["LessonTime"] = DateTime.Parse("2006-09-22 14:00");
row["Hours"] = 2;
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["SerialNo"] = "2";
row["Content"] = "Part Two";
row["Position"] = "G4202";
row["LessonTime"] = DateTime.Parse("2006-09-28 14:00");
row["Hours"] = 2;
tbl.Rows.Add(row);
/*
row = tbl.NewRow();
row["TrainingCode"] = "0005";
row["SerialNo"] = "2";
row["Content"] = "Part Two";
row["Position"] = "G4202";
row["LessonTime"] = DateTime.Parse("2006-09-28 14:00");
row["Hours"] = 2;
tbl.Rows.Add(row);
*/
//newset.AcceptChanges();
return newset;
}
public DataSet CreateDataSetWithMoreSchema()
{
DataSet newset = new DataSet();
DataTable tbl = new DataTable("Lessons");
tbl.Columns.Add("TrainingCode", typeof(string));
tbl.Columns.Add("SerialNo", typeof(int));
tbl.Columns.Add("Content", typeof(string));
tbl.Columns.Add("Position", typeof(string));
tbl.Columns.Add("LessonTime", typeof(DateTime));
tbl.Columns.Add("Hours", typeof(int));
tbl.Columns.Add("Remark", typeof(string));
DataColumn[] keycols = new DataColumn[] { tbl.Columns["TrainingCode"], tbl.Columns["SerialNo"] };
tbl.PrimaryKey = keycols;
newset.Tables.Add(tbl);
DataRow row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["SerialNo"] = "1";
row["Content"] = "Part One";
row["Position"] = "G4202";
row["LessonTime"] = DateTime.Parse("2006-09-22 14:00");
row["Hours"] = 2;
row["Remark"] = "The part one of 0002";
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["SerialNo"] = "2";
row["Content"] = "Part Two";
row["Position"] = "G4202";
row["LessonTime"] = DateTime.Parse("2006-09-28 14:00");
row["Hours"] = 2;
row["Remark"] = "The part two of 0002";
tbl.Rows.Add(row);
//newset.AcceptChanges();
return newset;
}
public void CreateEventHandler()
{
DataTable tbl = this.trainingset.Tables["TrainingTable"];
tbl.ColumnChanging += new DataColumnChangeEventHandler(TrainingTableColChanging);
}
private void TrainingTableColChanging(Object obj, DataColumnChangeEventArgs e)
{
if (e.Column.ColumnName == "Hours")
{
if ((int)e.ProposedValue <= 0)
{
e.Row.SetColumnError(e.Column, "Hours must be greater than 0.");
e.Row.RowError = "Invalid Hours.";
}
}
}
}
}
{
class DataSetBuilder
{
private DataSet trainingset;
public DataSetBuilder()
{
CreateDataSet();
CreateDataTable();
CreateDataColumns();
CreateDataRows();
CreatePrimaryKey();
CreateUnique();
CreateChildTable();
CreateRelation();
}
public DataSet TrainingDataSet
{
get { return trainingset; }
}
private void CreateDataSet()
{
trainingset = new DataSet("TrainingDataSet");
}
private void CreateDataTable()
{
DataTable trainingtbl = new DataTable("TrainingTable");
trainingset.Tables.Add(trainingtbl);
}
private void CreateDataColumns()
{
DataTable trainingtbl = trainingset.Tables["TrainingTable"];
DataColumn col = trainingtbl.Columns.Add("TrainingCode", typeof(String));
col.AllowDBNull = false;
col = trainingtbl.Columns.Add("TrainingName", typeof(String));
col.AllowDBNull = false;
col = trainingtbl.Columns.Add("Hours", typeof(Int32));
col.AllowDBNull = false;
trainingtbl.Columns.Add("Remark", typeof(String));
}
private void CreateDataRows()
{
DataTable tbl = trainingset.Tables["TrainingTable"];
DataRow row = tbl.NewRow();
row["TrainingCode"] = "0001";
row["TrainingName"] = "Advanced English";
row["Hours"] = 500;
row["Remark"] = "Very Difficult";
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["TrainingName"] = "Using C++";
row["Hours"] = 300;
row["Remark"] = "For freshmen";
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0003";
row["TrainingName"] = "Thinking in Java";
row["Hours"] = 300;
row["Remark"] = "Exciting";
tbl.Rows.Add(row);
tbl.AcceptChanges();
}
private void CreatePrimaryKey()
{
DataTable tbl = trainingset.Tables["TrainingTable"];
DataColumn[] cols = new DataColumn[1];
cols[0] = tbl.Columns["TrainingCode"];
tbl.PrimaryKey = cols;
}
public void CreateUnique()
{
/*
DataTable tbl = trainingset.Tables["TrainingTable"];
tbl.Columns["TrainingName"].Unique = true;
*/
DataTable tbl = trainingset.Tables["TrainingTable"];
if (!tbl.Constraints.Contains("Training_Name_Uni"))
{
UniqueConstraint uc = new UniqueConstraint("Training_Name_Uni", tbl.Columns["TrainingName"]);
tbl.Constraints.Add(uc);
}
}
public void CreateChildTable()
{
if (!trainingset.Tables.Contains("Lessons"))
{
DataTable tbl = new DataTable("Lessons");
tbl.Columns.Add("TrainingCode", typeof(string));
tbl.Columns.Add("SerialNo", typeof(int));
tbl.Columns.Add("Content", typeof(string));
tbl.Columns.Add("Position", typeof(string));
tbl.Columns.Add("LessonTime", typeof(DateTime));
tbl.Columns.Add("Hours", typeof(int));
DataColumn[] keycols = new DataColumn[] { tbl.Columns["TrainingCode"], tbl.Columns["SerialNo"] };
tbl.PrimaryKey = keycols;
trainingset.Tables.Add(tbl);
DataRow row = tbl.NewRow();
row["TrainingCode"] = "0001";
row["SerialNo"] = "1";
row["Content"] = "Lesson 1";
row["Position"] = "G4203";
row["LessonTime"] = DateTime.Parse("2006-10-01 9:00");
row["Hours"] = 3;
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0001";
row["SerialNo"] = "2";
row["Content"] = "Lesson 2";
row["Position"] = "G4203";
row["LessonTime"] = DateTime.Parse("2006-10-02 9:00");
row["Hours"] = 4;
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["SerialNo"] = "1";
row["Content"] = "Part 1";
row["Position"] = "G4101";
row["LessonTime"] = DateTime.Parse("2006-09-22 14:00");
row["Hours"] = 2;
tbl.Rows.Add(row);
tbl.AcceptChanges();
}
}
public void CreateRelation()
{
if (!trainingset.Relations.Contains("TrainingLesson"))
{
DataTable tbl = trainingset.Tables["Lessons"];
DataTable traintbl = trainingset.Tables["TrainingTable"];
DataRelation dr = new DataRelation("TrainingLesson", traintbl.Columns["TrainingCode"], tbl.Columns["TrainingCode"]);
//DataRelation dr = new DataRelation("TrainingLesson", traintbl.Columns["TrainingCode"], tbl.Columns["TrainingCode"],false);
trainingset.Relations.Add(dr);
}
}
public DataSet CreateNewDataSet()
{
DataSet newset = new DataSet();
DataTable tbl = new DataTable("Lessons");
tbl.Columns.Add("TrainingCode", typeof(string));
tbl.Columns.Add("SerialNo", typeof(int));
tbl.Columns.Add("Content", typeof(string));
tbl.Columns.Add("Position", typeof(string));
tbl.Columns.Add("LessonTime", typeof(DateTime));
tbl.Columns.Add("Hours", typeof(int));
DataColumn[] keycols = new DataColumn[] { tbl.Columns["TrainingCode"], tbl.Columns["SerialNo"] };
tbl.PrimaryKey = keycols;
newset.Tables.Add(tbl);
DataRow row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["SerialNo"] = "1";
row["Content"] = "Part One";
row["Position"] = "G4202";
row["LessonTime"] = DateTime.Parse("2006-09-22 14:00");
row["Hours"] = 2;
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["SerialNo"] = "2";
row["Content"] = "Part Two";
row["Position"] = "G4202";
row["LessonTime"] = DateTime.Parse("2006-09-28 14:00");
row["Hours"] = 2;
tbl.Rows.Add(row);
/*
row = tbl.NewRow();
row["TrainingCode"] = "0005";
row["SerialNo"] = "2";
row["Content"] = "Part Two";
row["Position"] = "G4202";
row["LessonTime"] = DateTime.Parse("2006-09-28 14:00");
row["Hours"] = 2;
tbl.Rows.Add(row);
*/
//newset.AcceptChanges();
return newset;
}
public DataSet CreateDataSetWithMoreSchema()
{
DataSet newset = new DataSet();
DataTable tbl = new DataTable("Lessons");
tbl.Columns.Add("TrainingCode", typeof(string));
tbl.Columns.Add("SerialNo", typeof(int));
tbl.Columns.Add("Content", typeof(string));
tbl.Columns.Add("Position", typeof(string));
tbl.Columns.Add("LessonTime", typeof(DateTime));
tbl.Columns.Add("Hours", typeof(int));
tbl.Columns.Add("Remark", typeof(string));
DataColumn[] keycols = new DataColumn[] { tbl.Columns["TrainingCode"], tbl.Columns["SerialNo"] };
tbl.PrimaryKey = keycols;
newset.Tables.Add(tbl);
DataRow row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["SerialNo"] = "1";
row["Content"] = "Part One";
row["Position"] = "G4202";
row["LessonTime"] = DateTime.Parse("2006-09-22 14:00");
row["Hours"] = 2;
row["Remark"] = "The part one of 0002";
tbl.Rows.Add(row);
row = tbl.NewRow();
row["TrainingCode"] = "0002";
row["SerialNo"] = "2";
row["Content"] = "Part Two";
row["Position"] = "G4202";
row["LessonTime"] = DateTime.Parse("2006-09-28 14:00");
row["Hours"] = 2;
row["Remark"] = "The part two of 0002";
tbl.Rows.Add(row);
//newset.AcceptChanges();
return newset;
}
public void CreateEventHandler()
{
DataTable tbl = this.trainingset.Tables["TrainingTable"];
tbl.ColumnChanging += new DataColumnChangeEventHandler(TrainingTableColChanging);
}
private void TrainingTableColChanging(Object obj, DataColumnChangeEventArgs e)
{
if (e.Column.ColumnName == "Hours")
{
if ((int)e.ProposedValue <= 0)
{
e.Row.SetColumnError(e.Column, "Hours must be greater than 0.");
e.Row.RowError = "Invalid Hours.";
}
}
}
}
}
相关文章推荐
- Spark SQL原理与DataFrame、DataSet相关API操作以及代码介绍
- 完整全面的Java资源库(包括构建、操作、代码分析、编译器、数据库、社区等等)
- 关于WININET的异步使用的代码和一些相关知识
- js 日期比较相关天数代码
- Jquery 操作table 相关代码
- 一些关于链表操作的代码
- Java连接到MySQL数据库的代码及相关操作
- B树相关操作纯代码(除删除操作)
- 谈谈关于PHP的代码安全相关的一些致命知识
- 构造函数中为什么不适合放一些比较昂贵的操作的讨论
- 与Pocket Outlook相关的一些代码片段(C#)
- CentOS命令行中执行Java代码的一些操作
- 一些比较有用的SQL操作,2011最新整理
- 一篇比较全面的Flash&Flex相关技术资源大全
- openoffice表格操作相关的一些宏例子
- jQuery学习笔记(八)JS 一些基本操作代码整理
- APP“程序未安装”解决方案 手机操作&代码相关
- C# Excel CSV DataTable DataSet 相关代码及资料整理
- Python机器学习中的实用小操作(一):数据清理篇 阿萨姆 2 个月前 0. 背景 很多朋友评论希望我共享答案和文章中提到的操作代码,比如生成相关性图谱等。为了方便大家,开始介绍一些虽然简单但很有用
- 数据库操作中一些代码的理解