使用 DataAdapter 和 DataSet 更新数据库
Update 方法会将更改解析回数据源,但是自上次填充 DataSet 以来,其他客户端可能已修改了数据源中的数据。若要使用当前数据刷新 DataSet,请再次使用 DataAdapter 填充 (Fill) DataSet。
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}
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 更新数据库相关推荐
- 使用dataadapter和dataset更新数据库
DataAdapter 的 Update 方法可调用来将 DataSet 中的更改解析回数据源.与 Fill 方法类似,Update 方法将 DataSet 的实例和可选的 DataTable 对 ...
- Enterprise Library 4.1数据访问应用程序块快速入门【6】使用DataSet更新数据库
本演练演示如何使用DataSet更新数据库.它假定以下存储过程已在被引用的数据库中被创建. CREATE PROCEDURE AddProduct ( @ProductName nvarcha ...
- 用SqlDataAdapter.Update(DataSet Ds)更新数据库
一. 用SqlDataAdapter.Update(DataSet Ds)更新数据库. 1. DbDataAdapter调用 Update 方法时,DataAdapter 将分析已作出的更改并执行相应 ...
- DataSet 更新 心得(转)
DataSet 更新 心得(转) 大家知道,DataSet保存的数据是位于服务器内存里面的原数据库的"副本".所以用DataSet更新数据的过程就是先对"副本" ...
- VB.NET学习笔记:ADO.NET操作ACCESS数据库——OleDbDataAdapter的Update方法更新数据库的秘密(行状态RowState和行版本 DataRowVersion)
在<数据集DataSet数据管理(DataAdapter查询更新数据库)>一文中提到可以使用OleDbDataAdapter对象的Update方法还可将对 DataSet 所做的更改解析回 ...
- DataSet操作数据库
DataSet操作数据库 _______________________________________________________________________________________ ...
- Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介...
ADO.NET技术主要包括Connection.Command.DataReader.DataAdapter.DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍: (1)Co ...
- dataAdapter与dataSet和dataTable的填充
对于dataAdapter与dataSet和dataTable的填充,可以分为1对1,1对n,n对n,3种情况. 以SqlDataAdapter为例. //(1)1对1 SqlDataAdapter ...
- datatable更新到mysql_.NET_使用DataTable更新数据库(增,删,改),1、修改数据复制代码 代码如 - phpStudy...
使用DataTable更新数据库(增,删,改) 1.修改数据 DataRow dr = hRDataSet.Tables["emp"].Rows.Find(textBox3.Tex ...
最新文章
- PyCharm的配置与安装
- 固定导航在网页设计中应用的22个优秀案例
- iOS 调用h5页面 视频不自动播放的问题
- Leet Code OJ 101. Symmetric Tree [Difficulty: Easy]
- 谷歌浏览器linux太耗电,Chrome浏览器太耗电?微软出招
- 通过ADB命令获取Android手机的分辨率(升级版)
- 识别Gradle约定
- JQuery学习记录——DOM的加载
- Java ObjectInputStream close()方法与示例
- python计算复制比_vbs实现只复制比目标文件更新的文件
- 主板没有rgb接口怎么接灯_老电脑也玩一下RGB,一次酷冷至尊MB400L智瞳机箱安装体验...
- 使用计算机自带字体怎么用_在家办公不会扫描文件怎么办?用 iPhone 自带软件就搞定啦...
- SIP协议 会话发起协议(二)
- 面向对象and正则表达式
- Madwifi Mad coding:自底向上分析associated_sta的更新过程 —— RSSI和MACADDR等信息获取的底层原理...
- java调用高德地图获取经纬度
- apkg格式怎么打开_干货:pdf转换器简单、好用,还能在线互转文件格式
- 此操作系统不支持.netframework4.7.1
- 将图片上传到FTP服务器
- 各种抠图动态图片_抠图动画