private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 } Web Form Designer generated code#region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /** <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.btnCreate.Click += new System.EventHandler(this.btnCreate_Click); this.btnAddRow.Click += new System.EventHandler(this.btnAddRow_Click); this.btnAddColumn.Click += new System.EventHandler(this.btnAddColumn_Click); this.Button1.Click += new System.EventHandler(this.Button1_Click); this.btnAddForeign.Click += new System.EventHandler(this.btnAddForeign_Click); this.btnUpdateMID.Click += new System.EventHandler(this.btnUpdateMID_Click); this.Button2.Click += new System.EventHandler(this.Button2_Click); this.btnUpdateDs.Click += new System.EventHandler(this.btnUpdateDs_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void btnCreate_Click(object sender, System.EventArgs e) { DataSet dsUntyped = new DataSet("myDS");//创建数据集 DataTable dtMaster = new DataTable("Master");//创建数据表 DataTable dtChild = new DataTable("Child"); dsUntyped.Tables.Add(dtMaster);//把数据表添加到数据集中 dsUntyped.Tables.Add(dtChild); Session["ds"] = dsUntyped; } private void btnAddColumn_Click(object sender, System.EventArgs e) { DataSet dsUntyped = (DataSet)Session["ds"]; dsUntyped.Tables["Master"].Columns.Add("MasterID",typeof(int)); dsUntyped.Tables["Master"].Columns.Add("MasterValue",typeof(string)); dsUntyped.Tables["Child"].Columns.Add("MasterLink",typeof(int)); dsUntyped.Tables["Child"].Columns.Add("ChildID",typeof(int)); dsUntyped.Tables["Child"].Columns .Add("ChildValue",typeof(string)); //修改表头 dsUntyped.Tables["Master"].Columns["MasterID"].Caption = "主ID"; dsUntyped.Tables["Master"].Columns["MasterValue"].Caption = "值"; Session["ds"] = dsUntyped; Bind(); } private void btnAddRow_Click(object sender, System.EventArgs e) { try { DataSet dsUntyped = (DataSet)Session["ds"]; //为Master表添加两行 DataRow dr = dsUntyped.Tables["Master"].NewRow(); dr["MasterID"] = 1; dr["MasterValue"] = "One"; dsUntyped.Tables["Master"].Rows.Add(dr); dr = dsUntyped.Tables["Master"].NewRow(); dr["MasterID"] = 2; dr["MasterValue"] = "Two"; dsUntyped.Tables["Master"].Rows.Add(dr); //为child表添加1行 dr = dsUntyped.Tables["Child"].NewRow(); dr["MasterLink"] = 1; dr["ChildID"] = 1; dr["ChildValue"] = "ChildOne"; dsUntyped.Tables["Child"].Rows.Add(dr); Session["ds"] = dsUntyped; Bind(); } catch(Exception ee) { Response.Write(ee.Message); } } //添加唯一键 private void Button1_Click(object sender, System.EventArgs e) { DataSet dsUntyped = (DataSet)Session["ds"]; System.Data.UniqueConstraint uc = new UniqueConstraint("unqi",dsUntyped.Tables["Master"].Columns["MasterID"]); dsUntyped.Tables["Master"].Constraints.Add(uc); Session["ds"] = dsUntyped; } private void Bind() { DataSet dsUntyped = (DataSet)Session["ds"]; dgMaster.DataSource = dsUntyped.Tables["Master"].DefaultView; dgChild.DataSource = dsUntyped.Tables["Child"].DefaultView; this.DataBind(); } private void btnAddForeign_Click(object sender, System.EventArgs e) { DataSet dsUntyped = (DataSet)Session["ds"]; System.Data.ForeignKeyConstraint fc = new ForeignKeyConstraint("fc",dsUntyped.Tables["Master"].Columns["MasterID"],dsUntyped.Tables["Child"].Columns["MasterLink"]); dsUntyped.Tables["Child"].Constraints.Add(fc); Session["ds"] = dsUntyped; } private void btnUpdateMID_Click(object sender, System.EventArgs e) { DataSet dsUntyped = (DataSet)Session["ds"]; dsUntyped.Tables["Master"].Rows[0]["MasterID"] = 4; Bind(); } private void Button2_Click(object sender, System.EventArgs e) { DataSet dsUntyped = (DataSet)Session["ds"]; int nIndexTb = int.Parse(ddlTable.SelectedItem.Value); int nIndexRow = int.Parse(tbRow.Text); int nIndexCol = int.Parse(tbCol.Text); object obj = dsUntyped.Tables[nIndexTb].Rows[nIndexRow][nIndexCol]; tbResult.Text = obj.ToString(); } private void btnUpdateDs_Click(object sender, System.EventArgs e) { DataSet dsUntyped = (DataSet)Session["ds"]; int nIndexTb = int.Parse(ddlTable.SelectedItem.Value); int nIndexRow = int.Parse(tbRow.Text); int nIndexCol = int.Parse(tbCol.Text); dsUntyped.Tables[nIndexTb].Rows[nIndexRow][nIndexCol] = tbResult.Text; Session["ds"] = dsUntyped; Bind(); } } }如何把利用DataSet的GetXml()方法获得的字符串再转成DataSet对象 DataSet ds = db.ExecSqlForDataSet( strSQL ); string strDS = ds.GetXml(); //如何把strDS转换成DataSet对象?? -------------------------------------------------------------------------------- String strDS = "" System.IO.StringReader reader = new System.IO.StringReader(strDS); ds.ReadXml(reader); reader.Close(); 通过CommandBuilder对DataSet数据进行添加、修改、删除
|