C# show custom error from Oracle procedure -
प्रक्रिया को नोजज_विक्समाई बनाते हैं या बदलते हैं (वोटोटोजस नंबर, गुंजा नंबर, किकिस संख्या, चरखी VARCHAR2, टिप varchar2, error_msg आउट Varchar2) veiksmai मानों (vt_id_seq.nextval, vartotojas, knyga, kiekis, tipas, sysdate, TO_DATE (grazinta, 'YYYY-MM-DD')) में डालने शुरू हो रहा है; अपवाद तब होता है जब अन्य त्रुटि_एमएसg: = 'इन्सर्ट आईवक्को क्लैडा'; समाप्त; यह प्रक्रिया है जिसे कस्टम त्रुटि को प्रोग्राम में वापस करना होगा।
सी # कोड:
ओराकल कॉमांड सीएमडी = नया ऑरेकल कॉमांड (); cmd.Connection = conn; सीएमडी। कॉमांड टेक्स्ट = "नौजस_विईक्समाई"; cmd.CommandType = CommandType.StoredProcedure; ओडीबीपी पैरामीटर परम = नया ओडीबीपी पैरामीटर (); Cmd.Parameters.Add ("Vartotojas", OracleType.Number) .Value = vartotojas; cmd.Parameters.Add ("knyga", OracleType.Number)। मूल्य = knyga; Cmd.Parameters.Add ("kiekis", OracleType.Number)। Value = kiekis; Cmd.Parameters.Add ("grazinta", OracleType.VarChar) .Value = grazinti; cmd.Parameters.Add ("tipas", OracleType.VarChar)। वैल्यू = टिप; ओरेकलपरैमेटर सेशन = नया ओरेकलपरैमेटर ("त्रुटि_ एमएसजी", ओरेकलटाइप.वर्कर); op.Direction = पैरामीटर डायरेक्शन। आउटपुट; op.Size = 200; cmd.Parameters.Add (सेशन); cmd.ExecuteNonQuery (); cmd.Parameters.RemoveAt (0); प्रोग्राम ओरेकल से कोई त्रुटि नहीं दिखा रहा है, सम्मिलित नहीं किया गया था और मुझे पता है कि अपवाद होना चाहिए।
प्रक्रिया में या ओरेकल कोड में क्या गलत है?
आपने पहले से ही संग्रहीत कार्यविधि को बताया है, अगर कोई अपवाद फेंका गया हो, तो एक संदेश लिखें error_msg पैरामीटर। संग्रहीत प्रक्रिया निष्पादित करने के बाद उस पैरामीटर के मान की जांच करें:
cmd.ExecuteNonQuery (); var errorMessage = Convert.ToString (cmd.Parameters ["error_msg"]। मान);
Comments
Post a Comment