1つのページに異なるデータセットごとに1つのストアドプロシージャからすべてのデータをフェッチしようとしています。異なるデータセットでストアドプロシージャのバッチクエリを取得する方法
CREATE PROCEDURE [dbo].[usp_Details](@status int, @Id int)
AS
begin
Select u.Id,u.FName,u.ImageName,u.ImagePath,u.Sex FROM [User] as u
where u.Id IN (SELECT MyId as Id FROM Friends WHERE [email protected] AND FriendStatus=0)
Select Points,FName from [User] where [email protected]
SELECT ImagePath from [User] where [email protected]
end
GO
ここで、個々のクエリでデータテーブル/データセットをバインドする方法を説明します。 例:dataset1の場合はquery1、dataset2の場合はquery2、dataset3の場合はquery3
これが可能でない場合は、異なるテーブルをフェッチするたびにデータベースを接続しないようにする最善の方法です。
:ありがとうございました。しかし、あなたの上記の例では、特定のクエリのデータセットを埋めるようには見えません。ストアドプロシージャには3つの "select"ステートメントがありますので、それぞれ異なるデータセットまたはデータテーブルを入力したいと思います。 –
私の修正された答えを見てください。それが価値あるものについては、これで何を達成しようとしていますか?データベース接続は、デフォルトでキャッシュされます。接続を確立した後は、すでに開かれている接続をキャッシュから取得するだけで、後続の「開く」は安価です。さらに、5の結果セット3にのみ関心がある場合は、捨てられるデータベースで余分な作業をたくさんしています。 –