首页 文章

更新数据集失败?

提问于
浏览
0

根据这篇文章:http://msdn.microsoft.com/en-us/library/xzb1zw3x.aspx,在我插入/更改数据集中的数据后,我需要调用UPDATE来将数据库数据与数据集数据同步 .

我的问题是:

我创建了一个名为dataset1.xsd的数据集,然后我创建了一个新的TableAdapter来执行我的INSERT查询,然后我需要以某种方式让我的数据库知道数据集中的内容已经改变 .

DataSet1TableAdapters.reservationsTableAdapter ta = new DataSet1TableAdapters.reservationsTableAdapter();

ta.Insert(LastName,Arrival,Departure);  // this is where I do the INSERT query

现在我应该更新数据集,对吗?我该怎么做呢?我上面发布的文章建议做这样的事情:

ta.Update(DataSet1.reservationsDataTAble);

但是,我不能这样做是因为:

错误 - 'myproject.DataSet1.reservationsDataTable'是'type',在给定的上下文中无效 .

我尝试声明一个新的Dataset1 DataTable,然后更新它,但它仍然不会显示我的数据库中的任何更改 .

但是,我知道更改会保存在DataSet中,因为当我稍后填充新的数据表时,记录就在那里 .

编辑:感谢下面的评论,我尝试这样做是为了改变:

DataSet1.reservationsDataTable NDT = new DataSet1.reservationsDataTable();                   

DataSet1TableAdapters.reservationsTableAdapter ta = new DataSet1TableAdapters.reservationsTableAdapter();

ta.Insert(LastName,Arrival,Departure);

ta.Fill(NDT);   
ta.Update(NDT);

...我可以看到(在调试器中)NDT数据表DID实际上包含“INSERTED”的数据,然后填充到数据表中 .

However, the ta.Update(NDT); still did not update my database...

1 回答

  • 0

    我假设 However, the ta.Update(NDT); still did not update my database 表示没有执行sql-insert,并且没有异常 .

    这对你有用吗?

    var myDataSet1 = new DataSet1();
    
    var newReservation = myDataSet1.reservations.NewRow();
    
    newReservation.LastName=...
    newReservation.Arrival=...
    newReservation.Departure=...
    
    myDataSet1.reservations.AddreservationsRow(newReservation);
    
    var ta = new DataSet1TableAdapters.reservationsTableAdapter();
    
    ta.Update(myDataSet1.reservations);
    

相关问题