0

2つのテーブルを返すためにストアドプロシージャを呼び出しています。コンソールアプリケーションでデータセットとして取得しています。データセット内のテーブル名は、TABLE、TABLE1のようなものです。

これをストアドプロシージャから意味のある名前に変更する方法はありますか?

ありがとう、マヘシュ

4

2 に答える 2

1

ストアドプロシージャからDataTablesに名前を付けることはできないと思います。

もちろん、これをコードで行うのは簡単です。C#では、1つはTABLEという名前でもう1つはTABLE1という名前の2つのDataTableを持つDataSet dataSetを想定して、次のことを実行できます。

 dataSet.Tables["TABLE"].TableName = "MyBetterTableName";
 dataSet.Tables["TABLE1"].TableName = "AnotherTableName";

そして、あなたがそれにいる間、あなたはあなたのデータセットに名前を付けることができます:

 dataSet.DataSetName = "MyDataSet";
于 2009-11-20T07:06:29.383 に答える
0

IMOは、正しいテーブル参照を取得していることがわかっていない限り、名前を変更する利点はありません。

実際に必要なのは、データソースで制御されるSTRONG-NAMESによってテーブルを知ることです。...特定の結果テーブルをデータセットのSOURCEによって制御されるNAMEに関連付けるための何か。

基になるテーブルの位置が変更された場合、「Table1」または「AnotherTableName」へのアクセスに違いはありません。それはまだ間違っているでしょう。SPROCが動的な結果セットを返す場合、位置は予測できません。SPROCが正しく変更されていても、位置が変更された場合は、システムが壊れています。

それがこの質問の根源だと思います。

そして、私は非常に実行可能な解決策を持っていると思います。この回答を確認してください

ここで再現するには長すぎます

于 2017-04-20T03:38:40.937 に答える