【问题标题】:Problem adding a row into a typed dataset将行添加到类型化数据集中的问题
【发布时间】:2011-07-25 09:47:18
【问题描述】:

我有一个访问数据库,我使用 Visual Studio (.xsd) 为它创建了一个类型化的数据集,我想在其中添加一条新记录,但我遇到了问题,因为它没有将数据添加到数据库中并且有没有错误。 我的代码如下(总结):

MyProjectDataSet.PAddressDataTable t=(MyProjectDataSet.PAddressDataTable)MyDataSet.Tables["PAddress"];
            var r = t.NewPAddressRow();
            r.PID = 44;  // Person ID which this address belong
            r.Address1 = "Line1";
            r.Address2 = "Line2";

            t.Rows.Add(r);
            r.AcceptChanges();
            t.AcceptChanges();

        PAddressTableAdapter.Update(r);

我可以看到,将新行添加到表后,它出现在 ID=-1 的表上。但是当我更新行时,我在 access 数据库中看不到它,也没有错误。

这段代码有什么问题?我不想使用 Insert,因为我拥有的字段数量非常多,并且 Insert 不接受 Row 数据。

【问题讨论】:

    标签: ms-access dataset strongly-typed-dataset


    【解决方案1】:

    删除

    r.AcceptChanges();

    t.AcceptChanges();

    行,然后重试。

    【讨论】:

      【解决方案2】:

      在执行“更新”之前不要“接受更改”。 “更新”依赖于“数据表”中的更改信息来确定要执行的操作。当“更新”完成时,任何提交到数据库的行都将在其数据操作完成后自动接受其更改。

      【讨论】:

        猜你喜欢
        • 2012-12-13
        • 1970-01-01
        • 2011-08-31
        • 1970-01-01
        • 2012-01-19
        • 2020-10-02
        • 2010-09-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多