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

ExecuteNonQuery वापसी -1 क्वेरी स्ट्रिंग के बावजूद sql COUNT का उपयोग करते समय

MSDN पर आधारित:

<ब्लॉकक्वॉट>

UPDATE, INSERT, और DELETE स्टेटमेंट के लिए, रिटर्न वैल्यू कमांड से प्रभावित पंक्तियों की संख्या है। जब किसी तालिका को सम्मिलित या अद्यतन किए जाने पर ट्रिगर मौजूद होता है, तो वापसी मान में सम्मिलित या अद्यतन कार्रवाई दोनों से प्रभावित पंक्तियों की संख्या और ट्रिगर या ट्रिगर से प्रभावित पंक्तियों की संख्या शामिल होती है। अन्य सभी प्रकार के बयानों के लिए, वापसी मूल्य -1 है। यदि कोई रोलबैक होता है, तो वापसी मान भी -1 होता है।

आप कमांड से प्रभावित पंक्तियों की संख्या वापस करना चाहते हैं और इसे int . में सहेजना चाहते हैं परिवर्तनशील लेकिन चूंकि स्टेटमेंट का प्रकार select . है तो यह -1 returns लौटाता है ।

समाधान :यदि आप सेलेक्ट कमांड से प्रभावित पंक्तियों की संख्या प्राप्त करना चाहते हैं और इसे एक इंट वेरिएबल में सहेजना चाहते हैं तो आप ExecuteScalar का उपयोग कर सकते हैं ।

var theCount = (int)cmd.ExecuteScalar();


  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 सर्वर 2014 CTP1 में निम्न प्राथमिकता लॉक प्रतीक्षा विकल्पों की खोज करना

  2. एसक्यूएल सर्वर :एसयूएम () कई पंक्तियों सहित जहां खंड शामिल हैं

  3. SQL सर्वर में रनिंग टोटल की गणना करें

  4. SQL सर्वर में कस्टम दिनांक/समय स्वरूपण

  5. SQL सर्वर प्रबंधन स्टूडियो में तालिका संपादन के बाद परिवर्तन सहेजा जा रहा है