0

ユーザーがログインすると(最初のデータベース要求)、ストアドプロシージャがパスワードとユーザーIDを検証し、次に使用するためにセッションに入れたユーザーレコードを返すサイトで作業しています。

この後、2 番目の db リクエストを行います。キャッシュに入れたユーザーのアドレスを返します。

1 つのデータベース要求で両方のデータ セット (ユーザー レコードと 2 番目のテーブルからの彼のアドレス) を取得できる方法があるか教えてください。

これについて教えてください。私はデータ アクセスに DAAB (エンター プライズ ライブラリ) を使用しています。

ありがとう

4

3 に答える 3

1

ストアド プロシージャに 2 つの選択クエリを記述したり、2 つのクエリを次々に実行したりできます。単一のクエリでは、 DataSet でデータを実行および受信できます。

ExecuteDataset()

したがって、dataset 内に 2 つのテーブルが返されます。次のような値を取得できます

データセット.テーブル(0) データセット.テーブル(1)

ありがとう

于 2011-01-06T09:04:44.367 に答える
1

2の場合のように、複数のselectステートメントを持つSPを変更します。1つのSPに2つのselectステートメントがあると、2つのレコードセットが返されます。SPを実行すると、SQL Management Studioで確認すると、下部パネルに複数のグリッドが表示されます。

SP が完成したら、C# コードから SP を呼び出し、結果を DataSet に読み込みます。データセットには 2 つのテーブルがあり、別のテーブルからデータを取得できます

于 2011-01-06T09:06:41.127 に答える
0

2つの結果セットを一度に取得しても何も得られませんが、コードはより一貫性がなくなります。2つの論理的に分離した操作を1つにマージする必要があるのはなぜですか?このような疑わしいメソッドを使用する代わりに、joinを使用して、すべてのデータを一度に含む1つの結果セットを取得できますが、それでも間違っているようです。私はあなたが求めていることを行うためのきれいな方法と得られるかもしれない利益を見ることができません。

于 2011-01-06T10:12:04.663 に答える