具体功能就是每一个按纽上面写的,自己看了!
1
using System;2
using System.Collections;3
using System.ComponentModel;4
using System.Data;5
using System.Drawing;6
using System.Web;7
using System.Web.SessionState;8
using System.Web.UI;9
using System.Web.UI.WebControls;10
using System.Web.UI.HtmlControls;11

12
namespace XML13


{14

/**//// <summary>15
/// WebForm1 的摘要说明。16
/// </summary>17
public class WebForm1 : System.Web.UI.Page18

{19
protected System.Web.UI.WebControls.Button btn2;20
protected System.Web.UI.WebControls.Button btn1;21
protected System.Web.UI.WebControls.DataGrid DataGrid1;22
protected System.Web.UI.WebControls.DataGrid DataGrid2;23
protected System.Web.UI.WebControls.DropDownList DropDownList1;24
protected System.Web.UI.WebControls.Label Label1;25
protected System.Web.UI.WebControls.Label Label2;26
protected System.Web.UI.WebControls.Label Label3;27
protected System.Web.UI.WebControls.Label Label4;28
protected System.Web.UI.WebControls.TextBox TextBox1;29
protected System.Web.UI.WebControls.Label Label5;30
protected System.Web.UI.WebControls.TextBox TextBox2;31
protected System.Web.UI.WebControls.Label Label6;32
protected System.Web.UI.WebControls.Button btn3;33
protected System.Web.UI.WebControls.Button btn4;34
protected System.Web.UI.WebControls.Button btn5;35
protected System.Web.UI.WebControls.Button btn6;36
protected System.Web.UI.WebControls.Button btn7;37
protected System.Web.UI.WebControls.Button btn8;38
protected System.Web.UI.WebControls.Button Button1;39
protected System.Web.UI.WebControls.Label Label7;40
protected System.Web.UI.WebControls.TextBox TextBox3;41
42
private void Page_Load(object sender, System.EventArgs e)43

{44
// 在此处放置用户代码以初始化页面45
}46

47

Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码48
override protected void OnInit(EventArgs e)49

{50
//51
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。52
//53
InitializeComponent();54
base.OnInit(e);55
}56
57

/**//// <summary>58
/// 设计器支持所需的方法 - 不要使用代码编辑器修改59
/// 此方法的内容。60
/// </summary>61
private void InitializeComponent()62

{ 63
this.btn2.Click += new System.EventHandler(this.btn2_Click);64
this.btn3.Click += new System.EventHandler(this.btn3_Click);65
this.btn4.Click += new System.EventHandler(this.btn4_Click);66
this.btn5.Click += new System.EventHandler(this.btn5_Click);67
this.btn6.Click += new System.EventHandler(this.btn6_Click);68
this.btn7.Click += new System.EventHandler(this.btn7_Click);69
this.btn8.Click += new System.EventHandler(this.btn8_Click);70
this.btn1.Click += new System.EventHandler(this.btn1_Click);71
this.Load += new System.EventHandler(this.Page_Load);72

73
}74
#endregion75

76
private void btn1_Click(object sender, System.EventArgs e)77

{//创建数据集78
DataSet ds=new DataSet("mydata");//实例化一个名字叫 mydata 非类型化数据集79
DataTable dtm=new DataTable("master");//new一个名字叫master(主表名)的数据表80
DataTable dtc=new DataTable("cong");//new一个名字叫cong(从表名)的数据表81
ds.Tables.Add(dtm);//把数据表添加到数据集中82
ds.Tables.Add(dtc);//同上83
Session["ds"]=ds;//把数据集存如session中,因为HTTP是无连接的,所以要在页面间传递最好就是求助与Session84
}85

86
private void btn2_Click(object sender, System.EventArgs e)87

{//创建唯一键,这个必须是先创建了列后才可以用哈,当你激发了这个事件后,你添加两次行试下看88
DataSet ds=(DataSet)Session["ds"];//从Session中取出数据集再交给新声明的对象中89
System.Data.UniqueConstraint uc=new UniqueConstraint("ncqi",ds.Tables["master"].Columns["mid"]);//这行是关键,这里就是设置master表中的mid列是唯一键90
ds.Tables["master"].Constraints.Add(uc);//利用Constraints将这个属性给加进表去91
Session["ds"]=ds;//还给Session92
}93

94
private void btn3_Click(object sender, System.EventArgs e)95

{//创建外键约束96
DataSet ds=(DataSet)Session["ds"]; 97
System.Data.ForeignKeyConstraint fkc=new ForeignKeyConstraint("fkc",ds.Tables["master"].Columns["mid"],ds.Tables["cong"].Columns["mlik"]);//使用这个方法指定cong表的mlik是外键约束的,外键表是master的mid列98
ds.Tables["cong"].Constraints.Add(fkc);//利用Constraints将这个属性给加进表去99
Session["ds"]=ds;//还给Session100
}101

102
private void btn4_Click(object sender, System.EventArgs e)103

{//添加列数据104
DataSet ds=(DataSet)Session["ds"];//从Session中取出数据集再交给新声明的对象中105
ds.Tables["master"].Columns.Add("mid",typeof(int));//增加一列(列名为mid,类型为 int)的数据到master表中106
ds.Tables["master"].Columns.Add("mvalue",typeof(string));107
//添加从表列108
ds.Tables["cong"].Columns.Add("mlik",typeof(int));109
ds.Tables["cong"].Columns.Add("cid",typeof(int));110
ds.Tables["cong"].Columns.Add("cvalue",typeof(string));111
//修改表头112
ds.Tables["master"].Columns["mid"].Caption="主表ID";//设置表master的mid列的表头名字为 主表ID113
ds.Tables["master"].Columns["mvalue"].Caption="主表值";114
//把数据集还得Session115
Session["ds"]=ds;116
fill();//重新绑定117
}118

119
private void btn5_Click(object sender, System.EventArgs e)120

{//添加行数据121
DataSet ds=(DataSet)Session["ds"];//从Session中取出122
//为master表添加两行;123
DataRow dr=ds.Tables["master"].NewRow();//声明一个新行的实例124
dr["mid"]=1;//设置mid行的值,这个值是可以通过其他方式传近来的,这个你懂撒125
dr["mvalue"]="第一";//设置mvalue行的值126
ds.Tables["master"].Rows.Add(dr);//将这行添加到表中去127
dr=ds.Tables["master"].NewRow();//再创建一行与上面构架一样(没有数据)的新行128
dr["mid"]=2;129
dr["mvalue"]="第二行";130
ds.Tables["master"].Rows.Add(dr);131
//我 cong 表添加新行132
DataRow drc=ds.Tables["cong"].NewRow();133
drc["mlik"]=1;134
drc["cid"]=1;135
drc["cvalue"]="从表第一";136
ds.Tables["cong"].Rows.Add(drc);137
Session["ds"]=ds;138
fill();//重新绑定139

140
}141

142
private void btn6_Click(object sender, System.EventArgs e)143

{//修改主表ID,当你按了这个后,你会发现,cong表的MLIK键也变了144
DataSet ds=(DataSet)Session["ds"];145
ds.Tables["master"].Rows[0]["mid"]=3;//修改master表的第一行中mid列的值为 3146
Session["ds"]=ds;147
fill();//重新绑定148
}149

150
private void btn7_Click(object sender, System.EventArgs e)151

{//求指定行列的值152
DataSet ds=(DataSet)Session["ds"];153
string tb=DropDownList1.SelectedValue.ToString();//得到选择的表名字154
int r=Convert.ToInt32(TextBox1.Text);//得到行数155
int c=Convert.ToInt32(TextBox2.Text);//得到列数156
157

158
object zhi=ds.Tables[""+tb+""].Rows[r][c];//一个object类型,的结果,159
TextBox3.Text=zhi.ToString();//显示出来160

161

162
}163

164
private void btn8_Click(object sender, System.EventArgs e)165

{//赋值当然是相反的,取值是把指定位置的值拿出来,赋值就是把指定的位置的值修改掉166
DataSet ds=(DataSet)Session["ds"];167
string tb=DropDownList1.SelectedValue.ToString();//得到选择的表名字168
int r=Convert.ToInt32(TextBox1.Text);//得到行数169
int c=Convert.ToInt32(TextBox2.Text);//得到列数170
string zhi=TextBox3.Text.ToString();//和上面不同,只是把他的值直接指定,然后给下面171
ds.Tables[""+tb+""].Rows[r][c]=zhi;172

173
fill();//赋值后要想看到结果,当然需要重新绑定了174
}175
176
private void fill()177

{//做了个绑定到DataGrid的绑定类,方便其多次使用178
DataSet ds=(DataSet)Session["ds"];179
this.DataGrid1.DataSource=ds.Tables["master"];180
this.DataGrid2.DataSource=ds.Tables["cong"];181
this.DataGrid1.DataBind();182
this.DataGrid2.DataBind();183
}184
}185
}186

1

<%
@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="XML.WebForm1" %>2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >3
<HTML>4
<HEAD>5
<title>WebForm1</title>6
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">7
<meta content="C#" name="CODE_LANGUAGE">8
<meta content="JavaScript" name="vs_defaultClientScript">9
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">10
</HEAD>11
<body MS_POSITIONING="GridLayout">12
<form id="Form1" method="post" runat="server">13
<FONT face="宋体">14
<asp:button id="btn2" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 216px" runat="server"15
Width="176px" Text="创建唯一键"></asp:button><asp:button id="btn3" style="Z-INDEX: 102; LEFT: 16px; POSITION: absolute; TOP: 264px" runat="server"16
Width="176px" Text="创建外键"></asp:button><asp:button id="btn4" style="Z-INDEX: 103; LEFT: 16px; POSITION: absolute; TOP: 120px" runat="server"17
Width="176px" Text="添加列"></asp:button><asp:button id="btn5" style="Z-INDEX: 104; LEFT: 16px; POSITION: absolute; TOP: 168px" runat="server"18
Width="176px" Text="添加行"></asp:button><asp:button id="btn6" style="Z-INDEX: 105; LEFT: 16px; POSITION: absolute; TOP: 312px" runat="server"19
Width="176px" Text="修改主ID"></asp:button><asp:button id="btn7" style="Z-INDEX: 106; LEFT: 16px; POSITION: absolute; TOP: 360px" runat="server"20
Width="176px" Text="求值"></asp:button><asp:button id="btn8" style="Z-INDEX: 107; LEFT: 16px; POSITION: absolute; TOP: 408px" runat="server"21
Width="176px" Text="赋值"></asp:button><asp:button id="btn1" style="Z-INDEX: 108; LEFT: 16px; POSITION: absolute; TOP: 72px" runat="server"22
Text="创建数据集和数据表"></asp:button><asp:datagrid id="DataGrid1" style="Z-INDEX: 109; LEFT: 232px; POSITION: absolute; TOP: 72px"23
runat="server" Width="312px"></asp:datagrid><asp:datagrid id="DataGrid2" style="Z-INDEX: 110; LEFT: 232px; POSITION: absolute; TOP: 216px"24
runat="server" Width="312px"></asp:datagrid><asp:dropdownlist id="DropDownList1" style="Z-INDEX: 111; LEFT: 272px; POSITION: absolute; TOP: 360px"25
runat="server">26
<asp:ListItem Value="master">主表</asp:ListItem>27
<asp:ListItem Value="cong">从表</asp:ListItem>28
</asp:dropdownlist><asp:label id="Label1" style="Z-INDEX: 112; LEFT: 208px; POSITION: absolute; TOP: 104px" runat="server"29
Width="8px" Height="56px">主 表</asp:label><asp:label id="Label2" style="Z-INDEX: 113; LEFT: 208px; POSITION: absolute; TOP: 248px" runat="server"30
Width="8px" Height="32px">从表</asp:label><asp:label id="Label3" style="Z-INDEX: 114; LEFT: 216px; POSITION: absolute; TOP: 360px" runat="server">表:</asp:label><asp:label id="Label4" style="Z-INDEX: 115; LEFT: 216px; POSITION: absolute; TOP: 400px" runat="server">行 Rows:</asp:label><asp:textbox id="TextBox1" style="Z-INDEX: 116; LEFT: 288px; POSITION: absolute; TOP: 400px"31
runat="server" Width="40px"></asp:textbox><asp:label id="Label5" style="Z-INDEX: 117; LEFT: 352px; POSITION: absolute; TOP: 400px" runat="server">列 Column:</asp:label><asp:textbox id="TextBox2" style="Z-INDEX: 118; LEFT: 440px; POSITION: absolute; TOP: 400px"32
runat="server" Width="48px"></asp:textbox><asp:label id="Label6" style="Z-INDEX: 119; LEFT: 512px; POSITION: absolute; TOP: 400px" runat="server">值:</asp:label><asp:textbox id="TextBox3" style="Z-INDEX: 120; LEFT: 544px; POSITION: absolute; TOP: 400px"33
runat="server" Width="48px"></asp:textbox>34
<asp:Button id="Button1" style="Z-INDEX: 121; LEFT: 16px; POSITION: absolute; TOP: 0px" runat="server"35
Text="下面按纽请按顺序激发事件,否则不保证不会出错" Width="568px" Height="64px" BackColor="GreenYellow" BorderColor="Blue"36
BorderStyle="Inset" BorderWidth="2px" Font-Bold="True" Font-Names="隶书" Font-Size="Large"37
Font-Underline="True" ForeColor="Blue"></asp:Button>38
<asp:Label id="Label7" style="Z-INDEX: 122; LEFT: 216px; POSITION: absolute; TOP: 432px" runat="server"39
Width="360px" ForeColor="Red">行和列只能输入数字,切必须输入,因为是Demo,我懒的做验证控件了</asp:Label></FONT></form>40
</body>41
</HTML>42
