asp.net - Insert Stored Procedure does not Create Database Record -


मेरे पास निम्न संग्रहीत कार्यविधि है:

  ALTER PROCEDURE Pro_members_Insert @id int outPut, @ LOGINNAME nvarchar (50), @Password nvarchar (15), @FirstName nvarchar (100), @LastName nvarchar (100), @signupDate smalldatetime, @Company nvarchar (100), @ फोन हालात nvarchar (50), @Email nvarchar (150 ), @Address nvarchar (255), @PostalCode nvarchar (10), @State_Province nvarchar (100), @City nvarchar (50), @countryCode nvarchar (4), @active बिट, @activationCode nvarchar (50) के रूप में घोषित @ हमें नाम से varchar (50) सेट @ usName = '' का चयन करें @ usName = सदस्यों से (लॉगिन नाम, '') जहां LoginName = @ LoginName अगर @usName & lt; & gt; '' सेट @ आईडी = 3 रेज़रर ('उपयोगकर्ता पहले से मौजूद है।', 16, 1) रिटर्न एंड सेट @ usName = '' का चयन करें @ usName = isnull (ईमेल, '') सदस्यों से जहां ईमेल @ @ ईमेल @ UsName & lt; & gt; '' सेट आईडी आईडी = -4 रिएसरर ('ईमेल पहले से मौजूद है', 16, 1) रिटर्न एंड घोषित @ एमएएमआईडी के रूप में आईआईएफ के रूप में चुनिए @ memID = isnull (मैक्स (आईडी), 0) सदस्यों से 1 सदस्यों में शामिल करें आईडी, LOGINNAME, पासवर्ड, प्रथम नाम, अंतिम नाम, signupDate, कंपनी, फोन, ईमेल, पता, पिन कोड, State_Province, शहर, देश कोड, सक्रिय, activationCode) मूल्यों (@Memid, @LoginName, @Password, @FirstName, @LastName, @ signupDate, @Company, @ फोन हालात, @Email, @Address, @PostalCode, @State_Province, @City, @countryCode, @ सक्रिय, @ activationCode) यदि @@ त्रुटि & lt; & gt; 0 सेट @ आईडी = 1 अन्य सेट @ आईडी = @ मेमिड   

ध्यान दें कि मैंने इस स्प्रेक और डेटाबेस को "विरासत में मिला" किया है।

मैं कोशिश कर रहा हूं मेरे signup.aspx पृष्ठ से एक नया रिकॉर्ड डालें। एएसपी;

 <कोड> & lt: SQLDataSource runat = "सर्वर" आईडी = "dsAddMember" ConnectionString = "rmsdbuser" InsertCommandType = "StoredProcedure" InsertCommand = "Pro_members_Insert" ProviderName = "सिस्टम मेरे SQLDataSource के रूप में इस प्रकार है .Data.SqlClient "& gt; & LT; InsertParameters & gt; & Lt; asp: ControlParameter ControlID = "txtLoginName" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "txtPassword" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "txtEmail" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "txtCompany" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "txtFirstName" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "txtLastName" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "txtAddress" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "txtCity" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "ddlstate" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "ddlcountryCode" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "txtPostalCode" प्रकार = "स्ट्रिंग" / & gt; & Lt; asp: ControlParameter ControlID = "txtPhoneNumber" प्रकार = "स्ट्रिंग" / & gt; & Lt; / InsertParameters & gt; & Lt; / एएसपी: SQLDataSource & gt;  

btnSave के लिए क्लिक हैंडलर इस प्रकार है:

  संरक्षित उप btnSave_Click (ByVal इस वस्तु के रूप में, ByVal ई EventArgs के रूप में) हैंडल btnSave.Click dsAddMember प्रयास करें DataBind () Exception End as Try End Sub  

जब मैं इस पृष्ठ को चलाता हूँ, signup.aspx, आवश्यक फ़ील्ड प्रदान करें और सबमिट करें पर क्लिक करें, पृष्ठ को केवल पुनः लोड और डेटाबेस तालिका नहीं है नव दर्ज किए गए रिकॉर्ड को प्रतिबिंबित करें

प्रश्न:

  1. मैं त्रुटि संदेशों को कैसे पकड़ सकता हूं जो कि sproc से लौटा जा सकता है?
  2. कृपया साइनअप.एस्पीएक्स को बदलने के लिए सलाह दें
  3. आप ' कभी भी उस नई पंक्ति को सम्मिलित करने के लिए कभी भी कोई विधि नहीं बुला रहे हैं! कॉलिंग .डेटाइंड () केवल "बाउंड" UI तत्वों (जैसे टेक्स्ट बॉक्स और ग्रिड्स और सामान) में डेटा स्रोत में मौजूदा डेटा लोड करेगा।

    ये टेक्स्ट बॉक्स कैसे हैं I डेटास्ट्रैप से जुड़े आपके साइनअप.एस्पक्स पर ??

    आपको यह करने की आवश्यकता है:

    • उस उपयोगकर्ता के मूल्यों को पढ़ा
    • वास्तव में सवाल में संग्रहीत कार्यविधि को कॉल करें (सीधे या एसक्यूएलडीटाओएसओआर के माध्यम से)
    • फिर नया डेटा दिखाने के लिए फ़ॉर्म को फिर से बाँध लें

Comments