1

我有一个包含一些数据表的数据集,现在我想从 db 中获取一个数据表并将其添加到我正在使用的数据集中的现有数据表中

  return (DataSets.General.StudentDataTable) ds.Tables["DSDummy"];

但它给了我以下错误

无法将类型“System.Data.DataTable”隐式转换为 DataSets.General.StudentDataTable”。存在显式转换

有人可以告诉我如何投射这个物体吗?任何帮助,将不胜感激

谢谢

4

4 回答 4

2

如果ds是强类型数据集,我希望它具有 DSDummy 表的显式属性,例如ds.DSDummy,而不是通过Tables集合,从而绕过强类型。

然而,即使是这样,显式演员表也应该奏效。您是否有可能多次DataSets.General.StudentDataTable定义 - 一次是手动定义,一次是从 DataSet Generator 自动定义 - 并且存在冲突?

于 2013-02-08T13:00:32.213 回答
1

查看MSDN 文档

下面的代码取自上面的链接。

DataSet customerOrders = new DataSet("CustomerOrders");

DataTable ordersTable = customerOrders.Tables.Add("Orders");

DataColumn pkOrderID =
ordersTable.Columns.Add("OrderID", typeof(Int32));
ordersTable.Columns.Add("OrderQuantity", typeof(Int32));
ordersTable.Columns.Add("CompanyName", typeof(string));

ordersTable.PrimaryKey = new DataColumn[] { pkOrderID };
于 2013-02-08T12:52:51.737 回答
1

如果您尝试将一个加载DataTable到另一个,您可以使用DataTable.Merge方法:

DataSets.General.StudentDataTable.Merge(ds.Tables["DSDummy"]);
于 2013-02-08T12:54:59.457 回答
0

试试下面...可能对您有帮助...

如果要返回数据集并分配给数据集,请按照以下方法..

DataSet ds = new DataSet();
ds = GetData();

public dataset Sample GetData()
{
......
.......

return ds
}

如果要返回 Datatable 并将其分配给 Dataset,请按照以下方法操作。

DataSet ds = new DataSet();
ds.Tables.Add(GetData());


public datatable Sample GetData()
{
......
.......

return ds.Tables["DSDummy"];
}
于 2013-02-08T13:00:29.860 回答