C#用SqlCommandBuilder 更新数据库数据,解决更新数据不同步到数据库
2017-09-25 21:34
676 查看
中午在CSDN找的办法没能解决,然后从这个帖子找到解决方法点我过去
用SQL语句更新就没问题,用SqlCommandBuilder更新只有DataGridView控件更新了而数据库里面并没有更新,然后发现是这个原因。
Form_Load代码
这是删除button的代码
这样问题就解决了,同理新增行,删行也要加上这句
不过单单更新一行数据,如
这样确实可以更新到数据库
中间查了一些博客说,当调用SqlDataAdapter的Update方法时,DataTable有个属性,当表中数据改变会,例如删除一行,他会有个Deleted属性,然后Update更新时就会找这些更改的属性然后用SqlCommandBuilder 生成自动语句
可以用
中间找的网页不知道去哪了,刚才翻历史记录也没翻到,sorry啊。
用SQL语句更新就没问题,用SqlCommandBuilder更新只有DataGridView控件更新了而数据库里面并没有更新,然后发现是这个原因。
SqlConnection con; SqlDataAdapter da; DataSet ds; DataTable dt; SqlCommandBuilder cb;
Form_Load代码
string sql = "select * from Employess"; con = new SqlConnection(str); con.Open(); da = new SqlDataAdapter(sql,con); cb = new SqlCommandBuilder(da); ds = new DataSet(); da.Fill(ds, "Employess"); dt = ds.Tables["Employess"]; dataGridView1.DataSource = dt; con.Close();
这是删除button的代码
//删除指定行数据 DataRow[] rows = dt.Select("EmpName= '"+textBox1.Text+"'", ""); foreach (DataRow row in rows) { row.Delete(); } cb = new SqlCommandBuilder(da); //这句是关键,一定要写上这句 da.Update(ds.Tables[0]);
这样问题就解决了,同理新增行,删行也要加上这句
不过单单更新一行数据,如
dt.Rows[0]["EmpName"] = "张三";
这样确实可以更新到数据库
中间查了一些博客说,当调用SqlDataAdapter的Update方法时,DataTable有个属性,当表中数据改变会,例如删除一行,他会有个Deleted属性,然后Update更新时就会找这些更改的属性然后用SqlCommandBuilder 生成自动语句
可以用
SqlCommandBuidler.GetDeleteCommand()方法获得自动生成的语句
中间找的网页不知道去哪了,刚才翻历史记录也没翻到,sorry啊。
相关文章推荐
- C# SqlCommandBuilder封装DRUD命令,更新数据库
- 用SqlCommandBuilder实现数据库批量更新的方法
- sqlcommandbuilder进行数据更新
- C#使用SqlBulkCopy将DataTable写入数据库的表中(表不存在则创建新表,数据存在则更新,不存在则插入)
- SqlCommandBuilder 批量更新数据库的怪异问题?
- C#中SqlCommandBuilder批量数据增加修改
- .net 用SqlCommandBuilder 实现数据库批量更新
- 同步DataContext,解决linq to sql更新数据的问题
- DataTable通过SqlCommandBuilder自动更新解决办法
- 巧用SQL的with语法生成临时结果集,进行查询与更新同步操作,解决高并发下对数据的重复访问
- C#使用access数据库,bin下的数据库和工程目录下数据库数据不同步解决办法
- 用SqlCommandBuilder 更新数据库
- 用SqlCommandBuilder 实现批量更新
- ASP.net:用SqlCommandBuilder 实现批量更新
- 用SqlCommandBuilder 实现批量更新
- 用SqlCommandBuilder 实现批量更新
- 关于asp.net网站发布后,使用登录控件和注册控件时出现“数据库只读,无法进行数据更新”的解决方法
- C#使用SqlDataAdapter.Update更新数据库
- 用SqlCommandBuilder 实现批量更新
- Sql Server 2005 与Sql Server Mobile(Sql server 2005 mobile Edition)数据同步步骤以及问题解决方案