datagridview 直接增删改查

whh_whf 2010-05-06 10:15:06
我想在控件datagridview上面直接添加新的数据,数据库也同时更新,搜索了一下说的是用这个东西 da.Update(ds, "table");
ds.Tables["table"].AcceptChanges();求人给点代码看看
...全文
568 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
k20002001 2010-05-10
  • 打赏
  • 举报
回复
AcceptChanges()只是相对内存上使用的数据而言
要回存到数据库还得你自己写方法
xk1126 2010-05-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 codeingsky 的回复:]
da.Update(ds, "table");
ds.Tables["table"].AcceptChanges();
最好重载下System.IDisposable接口。内存释放、对象释放自动管理
否则运行时间长了会有很多内存垃圾
[/Quote]
codeingsky 2010-05-10
  • 打赏
  • 举报
回复
da.Update(ds, "table");
ds.Tables["table"].AcceptChanges();
最好重载下System.IDisposable接口。内存释放、对象释放自动管理
否则运行时间长了会有很多内存垃圾
li121201391 2010-05-10
  • 打赏
  • 举报
回复
ding
sx396 2010-05-10
  • 打赏
  • 举报
回复
mark
namhyuk 2010-05-09
  • 打赏
  • 举报
回复
1楼的回复没有错,但我担心这个回复可能会误导你。
DataTable.AcceptChanges()和更新数据库没有一丁点的关系!

暂不看MSDN怎么说,你看看执行AcceptChanges()方法的主体是谁,谁告诉你一个DataTable可以执行对数据库的操作?微软会这么没有逻辑吗?DataTable只是数据容器,执行数据库操作的关键是DataAdapter对象。

而且还有一点是DataAdapter.Update()会自动调用DataTable.AcceptChanges();所以,如果是数据库操作,那没必要再加一句DataTAble.AcceptChanges()。









andybang1981 2010-05-06
  • 打赏
  • 举报
回复
应该用这个来做SqlCommandBuilder builder=new SqlCommandBuilder(da);
zengwenjian 2010-05-06
  • 打赏
  • 举报
回复
1楼的兄弟,讲的很好很详细啊!我上个月还为这个问题郁闷呢,早点遇到这种帖子就好了。
捷哥1999 2010-05-06
  • 打赏
  • 举报
回复
就是这样的,你首先需要用SqLDataAdapter去Fill数据到DataSet,然后把DataGridView的DataSource设置成DastSet中的某个表,这样DataGridView就能显示对应表的内容了,如果你希望在DataGridView中修改记录后,能够更新到数据库,可以加一个保存按钮,保存按钮这样更新:

da.Update(ds, "table");
ds.Tables["table"].AcceptChanges();


这个前提是你已经为SqLDataAdapter配置好了更新的命令(InsertCommand、UpdateCommand、DeleteCommand)
这可以用一行代码来搞定:

SqlCommandBuilder builder=new SqlCommandBuilder(da);

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧