DataSet 添加数据集、行、列、主键和外键等操作示例2
点击次数:29 次 发布日期:2008-11-26 11:28:14 作者:源代码网
|
源代码网推荐 { 源代码网推荐 // 在此处放置用户代码以初始化页面 源代码网推荐 } 源代码网推荐 源代码网推荐 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(); 源代码网推荐 http://www.cnblogs.com/skylaugh/archive/2006/12/18/595646.html 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
