इस तरह डालने के लिए तीन संभावित परिदृश्य हैं:
- सम्मिलन सफल हुआ।
- आपको एक अपवाद मिलता है।
- आपके पास एक ट्रिगर है जो इंसर्ट को किसी अन्य क्रिया से बदल देता है।
मुझे लगता है कि आपके पास ट्रिगर नहीं है, और जैसा कि आपको तालिका में रिकॉर्ड नहीं मिलता है, एक अपवाद होना चाहिए।
क्या आपके पास कोई कोड है जो किसी अन्य स्तर पर अपवाद को पकड़ता है? यह समझाएगा कि आप इसे क्यों नहीं देखते हैं, और यह डेटाबेस कनेक्शन को भी खुला छोड़ देगा, जो समझाएगा कि आपको बाद में डेटाबेस से कनेक्ट करने में समस्या क्यों है।
using
. का उपयोग करना डेटाबेस कनेक्शन के लिए ब्लॉक कोड में त्रुटि होने पर भी इसे ठीक से बंद कर देगा।
आप एक पैरामीटरयुक्त क्वेरी का उपयोग कर रहे हैं, लेकिन मैं यह नहीं देख सकता कि आप कोड में कहीं भी कमांड ऑब्जेक्ट में पैरामीटर जोड़ते हैं। यह कुछ इस तरह होगा:
cmd.Parameters.Add("Price", SqlDbType.Decimal).Value = price;
cmd.Parameters.Add("User", SqlDbType.NChar, 20).Value = user;
cmd.Parameters.Add("Time", SqlDbType.NChar, 15).Value = time;
cmd.Parameters.Add("Customer", SqlDbType.NChar, 10).Value = customer;
cmd.Parameters.Add("Discount", SqlDbType.Decimal).Value = discount;
cmd.Parameters.Add("FullPrice", SqlDbType.Decimal).Value = fullPrice;