更新数据集失败?

时间:2013-07-02 14:21:10

标签: c# database dataset

根据这篇文章: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”的数据,然后填入数据表。

但是,ta.Update(NDT);仍未更新我的数据库...

1 个答案:

答案 0 :(得分: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);
相关问题