DataAdapter 的 Update 方法:将 DataSet 中的更改解析回数据源。DataSet保存的数据是位于服务器内存里面的原数据库的“副本”。所以用DataSet更新数据的过程就是先对“副本”进行更新,然后在将“原本”更新。

Update 方法会将更改解析回数据源,但是自上次填充 DataSet 以来,其他客户端可能已修改了数据源中的数据。若要使用当前数据刷新 DataSet,请再次使用 DataAdapter 填充 (Fill) DataSet。

 1using System;
 2using System.Data;
 3using System.Data.SqlClient;
 4
 5namespace DataSetAdapter
 6{
 7    /**//**//**//// <summary>
 8   /// Summary description for EntityAA.
 9    /// </summary>
10    public class EntityAA
11    {
12        private string connstr = System.Configuration.ConfigurationSettings.AppSettings["connString"];
13        private SqlConnection conn;
14
15        private string sql;
16
17        private SqlDataAdapter adp;
18        private SqlCommandBuilder cb;
19
20        private DataSet ds;
21        private DataTable dt;
22
23        public EntityAA()
24        {
25            conn = new SqlConnection(connstr);
26            sql = "select * from aa";
27
28            adp = new SqlDataAdapter(sql,conn);
29            cb = new SqlCommandBuilder(adp);
30
31            ds = new DataSet();
32
33            FillDataSet();
34
35            dt = ds.Tables["table_aa"];
36
37            dt.PrimaryKey = new DataColumn[]{dt.Columns["a"]};
38        }
39        
40       private void FillDataSet()
41        {
42            conn.Open();
43            adp.Fill(ds,"table_aa");
44            conn.Close();
45       }
46
47        public DataSet List
48        {
49            get {return ds;}
50        }
51
52       public void insert(string c)
53        {
54            dt.Columns["a"].AutoIncrement = true;                        
55
56           DataRow dr = dt.NewRow();
57            dr["c"] = c;
58           dt.Rows.Add(dr);                //添加新行
59
60           adp.Update(ds,"table_aa");
61
62       }
63
64       public void up_date(int ids,string name)
65       {
66           DataRow dr = dt.Rows.Find(ids);        //获取由主键值指定的行
67            dr["c"] = name;                        //更新
68
69            adp.Update(ds,"table_aa");
70        }
71
72        public void del(int ids)
73       {
74           DataRow dr = dt.Rows.Find(ids);        //获取由主键值指定的行
75            dr.Delete();
76
77           adp.Update(ds,"table_aa");
78
79       }
80
81    }
82
 1using System;
 2using System.Collections;
 3using System.ComponentModel;
 4using System.Data;
 5using System.Drawing;
 6using System.Web;
 7using System.Web.SessionState;
 8using System.Web.UI;
 9using System.Web.UI.WebControls;
10using System.Web.UI.HtmlControls;
11using System.Data.SqlClient;
12
13namespace DataSetAdapter
14{
15    /**//**//**//// <summary>
16    /// Summary description for WebForm1.
17    /// </summary>
18    public class WebForm1 : System.Web.UI.Page
19    {
20        protected System.Web.UI.WebControls.Label Label1;
21        protected System.Web.UI.WebControls.Label Label2;
22        protected System.Web.UI.WebControls.TextBox txt_a;
23        protected System.Web.UI.WebControls.TextBox txt_c;
24        protected System.Web.UI.WebControls.Button delete;
25        protected System.Web.UI.WebControls.Button Button2;
26        protected System.Web.UI.WebControls.DataGrid DataGrid1;
27        protected System.Web.UI.WebControls.Button Button1;
28    
29        private void Page_Load(object sender, System.EventArgs e)
30        {
31            if(!this.Page.IsPostBack)
32                BindGrid();
33        }
34
35        Web Form Designer generated codeWeb Form Designer generated code#region Web Form Designer generated code
36        override protected void OnInit(EventArgs e)
37        {
38            //
39            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
40            //
41            InitializeComponent();
42            base.OnInit(e);
43        }
44        
45        /**//**//**//// <summary>
46        /// Required method for Designer support - do not modify
47        /// the contents of this method with the code editor.
48        /// </summary>
49        private void InitializeComponent()
50        {    
51            this.Button1.Click += new System.EventHandler(this.Button1_Click);
52            this.delete.Click += new System.EventHandler(this.delete_Click);
53            this.Button2.Click += new System.EventHandler(this.Button2_Click);
54            this.Load += new System.EventHandler(this.Page_Load);
55
56        }
57        #endregion
58
59        private void BindGrid()
60        {
61            EntityAA entityaa = new EntityAA();
62            DataSet ds = entityaa.List;
63
64            this.DataGrid1.DataSource = ds;
65            this.DataGrid1.DataBind();
66        }
67        private void Button1_Click(object sender, System.EventArgs e)
68        {
69            int ids = Int32.Parse(this.txt_a.Text);
70            string name = this.txt_c.Text;
71
72            EntityAA entityaa = new EntityAA();
73            entityaa.up_date(ids,name);
74
75            BindGrid();
76        }
77        private void delete_Click(object sender, System.EventArgs e)
78        {
79            int ids = Int32.Parse(this.txt_a.Text);
80
81            EntityAA entityaa = new EntityAA();
82            entityaa.del(ids);
83
84            BindGrid();
85        }
86
87        private void Button2_Click(object sender, System.EventArgs e)
88        {
89            string c = this.txt_c.Text;
90            
91            EntityAA entityaa = new EntityAA();
92            entityaa.insert(c);
93
94            BindGrid();
95        }
96
97    }
98

转载于:https://www.cnblogs.com/qiantuwuliang/archive/2009/06/02/1494266.html

使用 DataAdapter 和 DataSet 更新数据库相关推荐

  1. 使用dataadapter和dataset更新数据库

    DataAdapter   的 Update 方法可调用来将 DataSet 中的更改解析回数据源.与 Fill 方法类似,Update 方法将 DataSet 的实例和可选的 DataTable 对 ...

  2. Enterprise Library 4.1数据访问应用程序块快速入门【6】使用DataSet更新数据库

    本演练演示如何使用DataSet更新数据库.它假定以下存储过程已在被引用的数据库中被创建. CREATE PROCEDURE AddProduct (     @ProductName nvarcha ...

  3. 用SqlDataAdapter.Update(DataSet Ds)更新数据库

    一. 用SqlDataAdapter.Update(DataSet Ds)更新数据库. 1. DbDataAdapter调用 Update 方法时,DataAdapter 将分析已作出的更改并执行相应 ...

  4. DataSet 更新 心得(转)

    DataSet 更新 心得(转) 大家知道,DataSet保存的数据是位于服务器内存里面的原数据库的"副本".所以用DataSet更新数据的过程就是先对"副本" ...

  5. VB.NET学习笔记:ADO.NET操作ACCESS数据库——OleDbDataAdapter的Update方法更新数据库的秘密(行状态RowState和行版本 DataRowVersion)

    在<数据集DataSet数据管理(DataAdapter查询更新数据库)>一文中提到可以使用OleDbDataAdapter对象的Update方法还可将对 DataSet 所做的更改解析回 ...

  6. DataSet操作数据库

    DataSet操作数据库 _______________________________________________________________________________________ ...

  7. Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介...

    ADO.NET技术主要包括Connection.Command.DataReader.DataAdapter.DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍: (1)Co ...

  8. dataAdapter与dataSet和dataTable的填充

    对于dataAdapter与dataSet和dataTable的填充,可以分为1对1,1对n,n对n,3种情况. 以SqlDataAdapter为例. //(1)1对1 SqlDataAdapter ...

  9. datatable更新到mysql_.NET_使用DataTable更新数据库(增,删,改),1、修改数据复制代码 代码如 - phpStudy...

    使用DataTable更新数据库(增,删,改) 1.修改数据 DataRow dr = hRDataSet.Tables["emp"].Rows.Find(textBox3.Tex ...

最新文章

  1. PyCharm的配置与安装
  2. 固定导航在网页设计中应用的22个优秀案例
  3. iOS 调用h5页面 视频不自动播放的问题
  4. Leet Code OJ 101. Symmetric Tree [Difficulty: Easy]
  5. 谷歌浏览器linux太耗电,Chrome浏览器太耗电?微软出招
  6. 通过ADB命令获取Android手机的分辨率(升级版)
  7. 识别Gradle约定
  8. JQuery学习记录——DOM的加载
  9. Java ObjectInputStream close()方法与示例
  10. python计算复制比_vbs实现只复制比目标文件更新的文件
  11. 主板没有rgb接口怎么接灯_老电脑也玩一下RGB,一次酷冷至尊MB400L智瞳机箱安装体验...
  12. 使用计算机自带字体怎么用_在家办公不会扫描文件怎么办?用 iPhone 自带软件就搞定啦...
  13. SIP协议 会话发起协议(二)
  14. 面向对象and正则表达式
  15. Madwifi Mad coding:自底向上分析associated_sta的更新过程 —— RSSI和MACADDR等信息获取的底层原理...
  16. java调用高德地图获取经纬度
  17. apkg格式怎么打开_干货:pdf转换器简单、好用,还能在线互转文件格式
  18. 此操作系统不支持.netframework4.7.1
  19. 将图片上传到FTP服务器
  20. 各种抠图动态图片_抠图动画

热门文章

  1. bzoj1612 Usaco08 Jan 牛大赛
  2. CentOS 6.4 命令行 安装 VMware Tools
  3. 跟着阿里大牛捞干货:2019这5本书带你玩转大数据
  4. 2019升职加薪必备:你一定要修炼的产品思维
  5. S5PV210的内存映射
  6. 距离大厂的安全体系建设,你还有三个“不够”
  7. 程序员:工作3年了,为啥越来越不值钱……
  8. 人人都能看懂的 6 种限流实现方案!
  9. 大三、研二的秋招备战路线(Java、大数据)
  10. 漫画:假装内卷,才是互联网人的骚操作