调用TableAdapter.Update()方法后数据库不更新

时间:2014-02-05 12:53:42

标签: c# visual-studio-2005 ms-access-2003 strongly-typed-dataset

我有一个已导入Outlook 2003 AddIn Project的Access 2003数据库。 VS 2005然后基于我在数据库中的一个表生成DataSet。下面是我用来向表中添加行的代码:

        public CustomPropertiesDataSet.CustomPropertiesRow addItem(string id, string projectnumber, string task, string overtime, string category, string subcategory, string finished)
        {
            CustomPropertiesDataSet.CustomPropertiesRow newrow = this.NewCustomPropertiesRow();

            newrow.ItemID = id;
            newrow.Projectnumber = projectnumber;
            newrow.TaskDescription = task;
            newrow.Overtime = overtime;
            newrow.Category = category;
            newrow.Subcategory = subcategory;
            newrow.Finished = finished;
            try
            {
                this.Rows.Add(newrow);
                newrow.AcceptChanges();
                this.AcceptChanges();
                custompropertiesadapter.Update(this);                
            }
            catch(System.Exception ex)
            { }


            return newrow;            
        }

我的问题是tabe没有更新。当我调试时,我看到DataSet包含新行,但不包含数据库。

1 个答案:

答案 0 :(得分:0)

我会走出困境并建议你需要移动'this.Rows.Add(newrow);'在设置所有字段值之前的某个点。我相信'.Add'会初始化该行,这会消除以前的设置(或在之前的生命周期中,'添加,填充,保存'。