dataset操作

 

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数据进行添加、修改、删除

        private void UpdateDataTable()
        {
            SqlDataAdapter da = new SqlDataAdapter();
            SqlConnection conn = new SqlConnection("User ID=sa;Password=sa;DataBase=mydatabase;Data Source=localhost");
            DataSet ds = new DataSet();
            //通过select语句新建Command对象,通过select可以了解表的结构及属性
          //所选的数据库表必须要设置主键
            SqlCommand sqlcommand = new SqlCommand("select * from table1",conn);
            da.SelectCommand = sqlcommand;
           
            da.Fill(ds);

            //修改数据
            ds.Tables[0].Rows[0][1] = "update data item";

            //添加数据
            DataRow datarow = ds.Tables[0].NewRow();
            datarow[0] = "add new item";
            ds.Tables[0].Rows.Add(datarow);
           
            //删除数据
            ds.Tables[0].Rows[1].Delete();

            //新建sqlcommandbuilder
            SqlCommandBuilder sqlcommandbuilder = new SqlCommandBuilder(da);
            da.Update(ds);
           
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值