页面第一次加载时创建DataSet对象,为数据库Forum 创建本地副本,在其中加入tbClass表和tbBoard表
protected void Page_Load(object sender, EventArgse)
{
if(IsPostBack)
{
this.CreateDataSet();
}
}
private void CreateDataSet()
{
Response.Write("开始构架DataSet对象......");
// 1--建立数据库
ds_Forum = new DataSet("Forum");
// 2--再来建立两个数据表
DataTable tbClass = new DataTable("tbClass");
DataTable tbBoard = new DataTable("tbBoard");
//3--把两个数据表加入数据库
ds_Forum.Tables.Add(tbClass);
ds_Forum.Tables.Add(tbBoard);
//4--构造数据表tbClass结构
#region tbClass表的结构
// 4.1--建立tbClass表的两列
DataColumn ClassID = new DataColumn("ClassID", typeof(System.String));
DataColumn ClassName = new DataColumn("ClassName", typeof(System.String));
// 4.2--设定ClassID列不允许空
ClassID.AllowDBNull = false;
ClassID.MaxLength = 50;
// 4.3--把上面两列加入tbClass表
tbClass.Columns.Add(ClassID);
tbClass.Columns.Add(ClassName);
//设定tbClass表的主键
tbClass.PrimaryKey = new DataColumn[] { ClassID };
#endregion
//5--构造数据表tbBoard结构
#region tbBoard表的结构
//5.1--建立tbBoard的三列
DataColumn BoardID = new DataColumn("BoardID", typeof(System.String));
DataColumn BoardName = new DataColumn("BoardName", typeof(System.String));
DataColumn BoardClassID = new DataColumn("BoardClassID", typeof(System.String));
//5.2--设定BoardID列不允许空
BoardID.AllowDBNull = false;
//5.3--把列加入BoardID表
tbBoard.Columns.Add(BoardID);
tbBoard.Columns.Add(BoardName);
tbBoard.Columns.Add(BoardClassID);
//5.4--设定BoardID表的主键
tbBoard.PrimaryKey = new DataColumn[] { BoardID };
#endregion
//6--为上述两个表加入数据行
#region 为两个表各加入5条记录
for (int i = 0; i < 5; i++)
{
// 6.1--实例化tbClass表的行对象
DataRow tbClass_Row = tbClass.NewRow();
// 6.2--为行中每一列赋值
tbClass_Row["ClassID"] = Guid.NewGuid();
tbClass_Row["ClassName"] = string.Format("分类{0}", i);
//6.3--把行对象加入到tbClass表中
tbClass.Rows.Add(tbClass_Row);
//实例化tbBoard表的行
DataRow tbBoard_Row = tbBoard.NewRow();
// 为行中每一列赋值
tbBoard_Row["BoardID"] = Guid.NewGuid();
tbBoard_Row["BoardName"] = string.Format("版块{0}", i);
tbBoard_Row["BoardClassID"] = tbClass_Row["ClassID"];
// 把行加入tbBoard表
tbBoard.Rows.Add(tbBoard_Row);
}
#endregion
Response.Write("构架DataSet对象成功!");
}