C# SqlDataAdapter.Update()
Posted
技术标签:
【中文标题】C# SqlDataAdapter.Update()【英文标题】: 【发布时间】:2010-07-12 08:39:42 【问题描述】:我要疯了。我做了ff:
-
创建数据表。
通过 SqlDataAdapter 从 SQL 数据库填充它。
通过 datagridview 编辑数据表。
调用 sqldataadapter.update 但更改不会持久化到数据库。
编辑后仔细查看数据表,即使我通过 datagridview 实际编辑了数据表,但已编辑的 DataRow(s) 在项目数组中发生了变化,行状态也没有更新。真的很混乱..有什么想法吗?谢谢。
【问题讨论】:
【参考方案1】:您需要几件事情来完成这项工作。如果您从 Data Sources 视图中拖动表格,您最终会在 GUI 上看到一些不同的东西:
-
一个数据集
绑定源
TableAdapter
tableAdapterManager
BindingNavigator
有了这些,您可以查看源代码以了解幕后情况。您将需要 EndEdit(正如 Baldi 之前所说),但还需要更多:
private void UpdateGridView()
// validate that data types corresponds to database table column
this.Validate();
// ends edit on the graph table
this.graphBindingSource.EndEdit();
// ends edit on the graph table
this.intervalBindingSource.EndEdit();
// connect to the database - and exceute changes
this.tableAdapterManager.UpdateAll(this.diagramDBDataSet);
希望这能让你开始。如果您想了解更多信息 - 您可以关注此 .NET database slide show 和补充 database tutorial。 祝你好运!
【讨论】:
【参考方案2】:你使用数据绑定吗?调用 EndEdit 可能会有所帮助...!
【讨论】:
DataBinding 没有帮助。真的很混乱。以上是关于C# SqlDataAdapter.Update()的主要内容,如果未能解决你的问题,请参考以下文章
SqlDataAdapter.Update(数据表)不工作(不更新数据库)
使用带参数的 SqlDataAdapter.Update()
SqlDataAdapter.update() 不更新数据库
在 SqlDataAdapter.Update() 中获取错误消息