1

我想知道如何更新数据集中的数据表。我有一个数据表,其中有一些项目的详细信息。现在我想出于某种目的将它添加到数据集中并更新它。给我一些解决的建议这..

这是我的代码:

                DataRow dr;
                dr = Basket_DataTable.NewRow();
                Basket_DataTable.Rows.Add(dr);
                dr["PId"] = getPId.ToString();
                dr["ProductName"] = getProductName.ToString();
                dr["ImagePath"] = getImagePath.ToString();
                dr["ProductPrice"] = getProductPrice.ToString();
                dr["Quantity"] = getQuantity.ToString();
                dr["ProductDescription"] = getProductDescription.ToString();
                dr["TotalPrice"] = getProductPrice.ToString();
                Basket_DataTable.AcceptChanges();

Basket_DataTable 是我需要添加到数据集并更新的数据表。

4

2 回答 2

2

我相信您想将新行添加到数据集中现有的数据表中。Basket_DataTable您应该参考数据集中的数据表,而不是创建新的 DataTable 。

就像是。

//Create new Row from your DataTable in DataSet
DataRow dr = yourDataSet.Tables["Basket_DataTable"].NewRow();
// here you can refer to your datatable with the index as well 
//e.g. yourDataSet.Tables[0]

Basket_DataTable.Rows.Add(dr);
dr["PId"] = getPId.ToString();
dr["ProductName"] = getProductName.ToString();
dr["ImagePath"] = getImagePath.ToString();
dr["ProductPrice"] = getProductPrice.ToString();
dr["Quantity"] = getQuantity.ToString();
dr["ProductDescription"] = getProductDescription.ToString();
dr["TotalPrice"] = getProductPrice.ToString();

//Remember to add your row to the table. 
yourDataSet.Tables["Basket_DataTable"].Rows.Add(dr);

在您当前的代码中,您没有将新行添加到数据表中。请记住在数据表中包含该行。

于 2013-01-10T11:30:18.267 回答
0

如果 DataTable 已经在现有的 DataSet 中,但您想将其添加到另一个 DataSet 中,则需要先创建一个副本 - DataTable 实例只能有一个父 DataSet。

DataTable Basket_DataTable_copy = Basket_DataTable.Copy();
yourDataSet.Tables.Add(Basket_DataTable_copy);

然后您可以在 Basket_DataTable_copy 上进行更新

请参阅MSDN 上的 DataTable.Copy

于 2013-01-10T11:35:51.297 回答