2つのテーブルを返すためにストアドプロシージャを呼び出しています。コンソールアプリケーションでデータセットとして取得しています。データセット内のテーブル名は、TABLE、TABLE1のようなものです。
これをストアドプロシージャから意味のある名前に変更する方法はありますか?
ありがとう、マヘシュ
2つのテーブルを返すためにストアドプロシージャを呼び出しています。コンソールアプリケーションでデータセットとして取得しています。データセット内のテーブル名は、TABLE、TABLE1のようなものです。
これをストアドプロシージャから意味のある名前に変更する方法はありますか?
ありがとう、マヘシュ
ストアドプロシージャからDataTablesに名前を付けることはできないと思います。
もちろん、これをコードで行うのは簡単です。C#では、1つはTABLEという名前でもう1つはTABLE1という名前の2つのDataTableを持つDataSet dataSetを想定して、次のことを実行できます。
dataSet.Tables["TABLE"].TableName = "MyBetterTableName";
dataSet.Tables["TABLE1"].TableName = "AnotherTableName";
そして、あなたがそれにいる間、あなたはあなたのデータセットに名前を付けることができます:
dataSet.DataSetName = "MyDataSet";
IMOは、正しいテーブル参照を取得していることがわかっていない限り、名前を変更する利点はありません。
実際に必要なのは、データソースで制御されるSTRONG-NAMESによってテーブルを知ることです。...特定の結果テーブルをデータセットのSOURCEによって制御されるNAMEに関連付けるための何か。
基になるテーブルの位置が変更された場合、「Table1」または「AnotherTableName」へのアクセスに違いはありません。それはまだ間違っているでしょう。SPROCが動的な結果セットを返す場合、位置は予測できません。SPROCが正しく変更されていても、位置が変更された場合は、システムが壊れています。
それがこの質問の根源だと思います。
そして、私は非常に実行可能な解決策を持っていると思います。この回答を確認してください。
ここで再現するには長すぎます