替换DataSet中的DataTable

时间:2012-07-01 13:47:12

标签: c# database dataset dataadapter

- 将问题更改为另一种更简单的形式 -

请查看以下代码:

“给定错误” 错误:

更新无法找到TableMapping ['Table']或DataTable'Table'。

DataSet是强类型的, 我们有一个DataTable“dtNew” [由列表“ListProducts”制作,(无论在这里!)]

数据库中的一列名称与列表的字段不同: “标题”应与列映射:“TitleInDb”

SqlCeDataAdapter Adapter;
DsProducts Ds1Products ; // Strongly Typed
DataTable dtNew = new DataTable("Products");
DataColumn dc;
DataRow[] updRows;
// Fields : Name , Title, Price

dc = new DataColumn("Name", typeof(string));
dtNew.Columns.Add(dc);
dc = new DataColumn("TitleInDb", typeof(string)); // The difference is by a reason
dtNew.Columns.Add(dc);
dc = new DataColumn("Price", typeof(string));
dtNew.Columns.Add(dc);
dtNew = updRows.CopyToDataTable();
Ds1Products.Tables.Add(dtNew);

// The Problems appear here :
// The Iteration is just for debugging phase and watching the changes which the columns are same 
   as before
foreach (var col in dtNew.Columns)
{
    Console.WriteLine(col.ToString());
    Console.WriteLine(col.GetType());
}

// New Table is there, But here will come the Error
Adapter.Update(Ds1Products);

运行它,迭代新列我发现“Products”表没有变化,我认为当时应该删除它。此表"dtNew"的名称似乎也是"table1"

附加说明: 它使用Sql Compact 3.5 代码只是一段代码,显示确切的问题!

请查看代码并就此提出您的想法, 我正在尝试基于刷新的表(或DataRows [])来创建整个数据库

修改: * 替换DataSet中的DataTable: * 这意味着删除第一个DataTable并创建一个新的DataTable并将其放入! 不能说更容易......(基于评论)

0 个答案:

没有答案