首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在修改数据库后保存DataSet?

如何在修改数据库后保存DataSet?
EN

Stack Overflow用户
提问于 2011-08-14 16:24:07
回答 3查看 8.8K关注 0票数 3

如果我有一个名为myDs的DataSet,我在循环中通过直接访问来编辑其中的一个字段,如下所示:

代码语言:javascript
运行
复制
for (int i = 0; i < myDS.Tables[TableName].Rows.Count; i++)
{

    //some function or web method to get the id value of the record being updated
    int n = getNewNumber();

    //updating the dataset record according to some condition
    if (n == 0)
    {
        myDS.Tables[TableName].Rows[i]["id"] = n;
        myDS.Tables[TableName].Rows[i]["description"] = "some data";
    }
    else
    {
        myDS.Tables[TableName].Rows[i]["id"] = n;
        myDS.Tables[TableName].Rows[i]["description"] = "new data";
    }
}

我如何在数据库中进行这些更改,因为当我执行databind()时,我可以在GridView中看到它,但是数据库没有受到影响,我尝试使用OdbcDataAdapter和OdbcCommandBuilder的fill & update方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-16 01:28:31

尝试本文中所示的TableAdapter.Update流程:How to: Update Records in a Database

此外,请确保您不仅拥有尝试连接到的数据库的必要访问权限,而且还具有更新所需表中记录的权限。您可能遇到SQL Server配置问题,导致您的代码无法更新。

票数 2
EN

Stack Overflow用户

发布于 2011-08-14 17:07:50

因为它是odbc,所以您可以使用OdbcDataAdapter;然后调用:

代码语言:javascript
运行
复制
adapter.Update(myDS.Tables[TableName]);

免责声明:就我个人而言,我从不将DataSet用于....什么都行。YMMV.

票数 0
EN

Stack Overflow用户

发布于 2015-11-16 22:50:21

您应该在循环后键入两行

代码语言:javascript
运行
复制
myDS.AcceptChanges();
adapter.Update(myDS.Tables[TableName]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7055799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档