我有一个包含一些数据表的数据集,现在我想从 db 中获取一个数据表并将其添加到我正在使用的数据集中的现有数据表中
return (DataSets.General.StudentDataTable) ds.Tables["DSDummy"];
但它给了我以下错误
无法将类型“System.Data.DataTable”隐式转换为 DataSets.General.StudentDataTable”。存在显式转换
有人可以告诉我如何投射这个物体吗?任何帮助,将不胜感激
谢谢
如果ds
是强类型数据集,我希望它具有 DSDummy 表的显式属性,例如ds.DSDummy
,而不是通过Tables
集合,从而绕过强类型。
然而,即使是这样,显式演员表也应该奏效。您是否有可能多次DataSets.General.StudentDataTable
定义 - 一次是手动定义,一次是从 DataSet Generator 自动定义 - 并且存在冲突?
查看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 };
如果您尝试将一个加载DataTable
到另一个,您可以使用DataTable.Merge方法:
DataSets.General.StudentDataTable.Merge(ds.Tables["DSDummy"]);
试试下面...可能对您有帮助...
如果要返回数据集并分配给数据集,请按照以下方法..
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"];
}