वापस लौटें। जब मैं इसका परीक्षण करता हूं, तो हमेशा सही परिणाम प्राप्त करें।संग्रहित प्रक्रिया को कॉल करने के लिए Dapper.net का उपयोग करके, हमेशा मेरी पिछली प्रक्रिया में -1 वापस
ALTER PROCEDURE [dbo].[AddSmoothieIngredients]
-- Add the parameters for the stored procedure here
@Query NVARCHAR(4000) ,
@SmoothieId INT ,
@CreatedDate DATETIME ,
@Status INT ,
@UserId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
BEGIN TRY
BEGIN TRAN
IF @SmoothieId > 0
BEGIN
DELETE FROM dbo.SmoothieIngredients
WHERE SmoothieId = @SmoothieId;
EXECUTE (@Query);
END
ELSE
BEGIN
IF @UserId = 0
SET @UserId = NULL;
INSERT INTO dbo.Smoothie
(Name, CreatedDate, Status, UserId)
VALUES (N'', @CreatedDate, @Status, @UserId);
SET @SmoothieId = SCOPE_IDENTITY();
SET @Query = REPLACE(@Query, 'sId', @SmoothieId);
EXECUTE (@Query);
END
COMMIT TRAN
RETURN @SmoothieId
END TRY
BEGIN CATCH
ROLLBACK
END CATCH
END
हालांकि जब मैं dapper.net का उपयोग करके इस संग्रहीत प्रक्रिया को कॉल करता हूं, तो हमेशा -1 वापस लौटाएं।
using (var conn = OpenConnection())
{
var parameter = new { Query = query, SmoothieId = smoothieId, CreatedDate = createdDate, Status = status, UserId = userId };
return conn.Execute("AddSmoothieIngredients", parameter, commandType: CommandType.StoredProcedure);
}
शायद, dapper.net संग्रहित प्रक्रिया से वापसी मूल्य नहीं उठा सकता है। लेकिन मैं वास्तव में नहीं जानता कि इसे कैसे ठीक किया जाए। कृपया मदद करे।
धन्यवाद। लेकिन आपको अभी भी निष्पादन का उपयोग करना होगा, मुझे ऑनलाइन एक और नमूना मिला, और यह काम करता है। – qinking126