Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

निर्दिष्ट कास्ट सी # का उपयोग कर वैध त्रुटि नहीं है

cmd1.ExecuteScalar() एक बॉक्सिंग पूर्णांक नहीं लौटा रहा है। इसे किसी ऑब्जेक्ट को असाइन करें और डीबगर में देखें कि यह वास्तव में क्या है।

मुझे लगता है कि यह एक दशमलव या एक डबल लौटाएगा, और आपको यह करने की ज़रूरत है:

Int32 result = (Int32)(double)cmd1.ExecuteScalar();

या:

Int32 result = (Int32)(Decimal)cmd1.ExecuteScalar();

[नीचे कमेंट में एक प्रश्न के उत्तर में संपादित करें]

दशमलव मान रखने के लिए, बस यह करें:

Decimal result = (Decimal) cmd1.ExecuteScalar();

यदि आपको आवश्यकता हो, तो आप दशमलव को दोगुना कर सकते हैं:

double result = (double)(Decimal) cmd1.ExectuteScalar();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में एक अद्वितीय मान बनाने के लिए NEWID () का उपयोग करें

  2. आधिकारिक छवि के शीर्ष पर एक कस्टम SQL सर्वर डॉकर छवि बनाना

  3. SQL सर्वर 2008 में एक लीप सेकेंड को संग्रहीत करना

  4. SQL सर्वर:नल VS खाली स्ट्रिंग

  5. गतिशील रूप से #temp तालिका बनाना और फिर डेटा सम्मिलित करने के लिए उपयोग किया जाता है