无法将类型'System.Data.DataTable'隐式转换为DataSets.General.StudentDataTable'

时间:2013-02-08 12:47:10

标签: c# .net datatable dataset

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

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

但是它给了我以下错误

  

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

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

由于

4 个答案:

答案 0 :(得分:2)

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

但是,即使它已经存在,显式的 应该。是否有可能不止一次定义DataSets.General.StudentDataTable - 一次手动,一次自动从DataSet Generator定义 - 并且它有冲突吗?

答案 1 :(得分:1)

查看MSDN documentation

以下代码来自上述链接。

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 };

答案 2 :(得分:1)

如果您尝试将一个DataTable加载到另一个DataSets.General.StudentDataTable.Merge(ds.Tables["DSDummy"]); ,则可以使用DataTable.Merge方法:

{{1}}

答案 3 :(得分: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"];
}