1

いくつかのデータテーブルを含むデータセットがあります。今、db からデータテーブルをフェッチし、それをデータセット内の既存のデータテーブルに追加したいと考えています。

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

しかし、次のエラーが表示されます

タイプ 'System.Data.DataTable' を DataSets.General.StudentDataTable' に暗黙的に変換することはできません。明示的な変換が存在する

誰かがこのオブジェクトをキャストする方法を教えてもらえますか? 任意の助けをいただければ幸いです

ありがとう

4

4 に答える 4

2

が厳密に型指定されたデータセットである場合、強力な型指定をバイパスするコレクションを通過するのではなくds、DSDummy テーブルの明示的なプロパティ ( のようなもの) を持つことが期待されます。ds.DSDummyTables

ただし、現状でも、明示的なキャストは機能するはずです。DataSets.General.StudentDataTable1 回は手動で、もう 1 回は 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

DataTable1 つを別のものにロードしようとしている場合は、 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 に答える