Wednesday, 15 June 2011

c# - Extracting count from where clause -


मेरे पास मूवी की समीक्षा की एक तालिका है:

  मूवीआईडी ​​यूज़रआईड रेटिंग 72 64817 5 238 4984 4 167 48176 2 37 19841 1 122 987981 2 48 और इतने पर .... 12 9 143 27 177 47 201 220 12 247  

अगर मैं एक विशेष मूवीआईडी ​​निर्दिष्ट करता हूं, तो मुझे पता है कि कैसे प्रदर्शित करना है सभी यूजरआईडी ने अपनी रेटिंग के साथ उस फिल्म को रेट किया है।

मेरा प्रश्न: अगर किसी भी उपयोगकर्ता द्वारा सबमिट की गई कोई समीक्षा नहीं है, तो मैं ऐसा संदेश कैसे दिखा सकता हूं? अगर कोई समीक्षा नहीं है, तो मैं इस विशेषता को कैसे कैद कर सकता हूं? मैंने कई चीजों की कोशिश की है (सी # में जीयूआई के साथ काम करना):

  sql = string.format ("SELECT COUNT (1) के रूप में समीक्षा से संख्या है जहां मूवीआईडी ​​= '{0}' ', पाठ बॉक्स 1। पाठ); सीएमडी = नया एसक्यूएल कॉमांड (); सीएमडी.कनेक्शन = डीबी; Cmd.CommandText = sql; ऑब्जेक्ट परिणाम = सीएमडी। एक्सक्लेशएसलार (); इंट नम्बर रिव्यूव्यूज़ = सिस्टम.कन्वर्ट.ToInt32 (परिणाम); यदि (numReviews == 0) {MessageBox.Show ("कोई समीक्षा नहीं"); } Else {// मैं उन्हें प्रदर्शित करता हूँ  

यदि परिणाम एक संख्या (गिनती (1)) माना जाता है, तो क्यों नहीं मैं एक पूर्णांक चर को आवंटित कर सकता हूँ और वह परीक्षा?

जब

इस लाइन पर

 

मैं इस कोड को डीबग करता हूं, मुझे त्रुटि अपवाद मिलता है:

रूपांतरण की विफलता जब varchar मान 'NewMovieNoReview' कोड> परिणाम = सीएमडी। एक्सक्लेकेट एसएलएआर ();

अपडेट: मूर्ख गलती !! स्ट्रिंग में क्या छपाई करने के बाद, मूवीआईडी ​​= नए आईडीई की बजाय एक पूर्वावलोकन! एरिक के लिए धन्यवाद, "स्ट्रिंग के लिए कॉल करने के बाद एसक्यूएल में क्या है, जांचें। फॉर्मेट ()"! -रोलुटेड

त्रुटि

'के पास गलत वाक्यविन्यास') '।

एसक्यूएल आपके एसक्यूएल कमांड के सिंटैक्स के बारे में शिकायत कर रहा है।

कोशिश करें

  SELECT COUNT (1) AS मूवीआईडी ​​= {0}  

नोट: {0} के आसपास कोई भी उद्धरण नहीं है यदि मूवीआईडी ​​एक पूर्णांक है।

रूपांतरण को विफल करते समय varchar मान 'NewMovieNoReview 'डेटा प्रकार के लिए int।

आपको एक int परिणाम नहीं मिला क्योंकि एसक्यूएल कथन निष्पादित करने में कोई त्रुटि हुई थी।

नोट :

जो भी इनपुट textBox1.Text में है, उस पर भरोसा करने के बजाय, आपको एक का प्रयोग करना चाहिए। अन्यथा, एक औसत उपयोगकर्ता उस टेक्स्ट बॉक्स में प्रवेश कर सकता है ; DELETE TABLE समीक्षाएं


No comments:

Post a Comment