मैं एसक्यूएल सर्वर 2008 डेटाबेस में संग्रहीत प्रक्रिया बना रहा हूं। मैं प्रभावित पंक्तियों की संख्या वापस करना चाहता हूं। कौन सा बेहतर विकल्प सेट बंद खाता है या @ @ ROWCOUNT रिटर्न करें?सेट करें या बंद करें @@ ROWCOUNT?
ALTER PROCEDURE [dbo].[MembersActivateAccount]
@MemberId uniqueidentifier
AS
BEGIN
-- Should I use this?
SET NOCOUNT OFF;
UPDATE [dbo].Members SET accountActive = 1 WHERE id = @MemberId;
--Or should I SET NOCOUNT ON and use the following line instead?
--return @@ROWCOUNT;
END
मुझे पता है कि दोनों काम, लेकिन कौन सा बेहतर विकल्प है और क्यों?
कुछ कोशिश करने के बाद मैं एक निष्कर्ष पर आ रहा हूं कि संग्रहित प्रक्रियाओं के भीतर डिफ़ॉल्ट रूप से SET NOCOUNT बंद हो जाता है। क्या यह व्यवहार मेरे डेटाबेस के अंदर बदलना संभव है?
मुझे SQLCommand दस्तावेज़ के अंदर SET NOCOUNT के बारे में कुछ भी नहीं बताया गया है। क्या आप सुनिश्चित हैं कि DataAdapters के साथ एक ही समस्या है? – niaher
Google इसे- आपको बहुत सारे सबूत मिलेंगे जो यह करता है: http://www.google.co.uk/search?client=firefox-a&rls=org.mozilla%3Aen-GB%3Aofficial&channel=s&hl=hi&q=ExecuteNonQuery+ NoCount और मेटा = & btnG = Google + खोज। मुझे यकीन नहीं है कि डेटाएडाप्टर के परीक्षण के बिना यह वही समस्या है, लेकिन मुझे नहीं पता कि एक और कारण क्यों होगा। – RichardOD