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

मुझे कैसे पता चलेगा कि विदेशी कुंजी उल्लंघन के कारण SQLException को फेंक दिया गया था?

मान लें कि आप SQL सर्वर का उपयोग कर रहे हैं।

तह वेब संग्रह का उपयोग करना - https://web.archive.org/web/20190120182351/https://blogs.msdn.microsoft.com/tomholl/2007/08/01/mapping-sql-server-errors-to-net -अपवाद-द-फन-वे/

try
{
    # SQL Stuff
}
catch (SqlException ex)
{
    if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
    {
        switch (ex.Errors[0].Number)
        {
            case 547: // Foreign Key violation
                throw new InvalidOperationException("Some helpful description", ex);
                break;
            case 2601: // Primary key violation
                throw new DuplicateRecordException("Some other helpful description", ex);
                break;
            default:
                throw new DataAccessException(ex);
        }
    }

}

केस 547 आपका आदमी है।

अपडेट करें उपरोक्त नमूना कोड है और इसका उपयोग नहीं किया जाना चाहिए। क्यों की व्याख्या करने के लिए कृपया लिंक का अनुसरण करें।



  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 सर्वर कॉम्पैक्ट संस्करण में LIKE के साथ पैरामीटर का उपयोग कैसे करें

  2. SQL सर्वर में ग्राफिकल यूजर इंटरफेस का उपयोग करके एक्सेल या सीएसवी डेटा को टेबल में कैसे डालें - SQL सर्वर / TSQL ट्यूटोरियल पार्ट 102

  3. MS SQL सर्वर पर ODBC क्वेरी केवल PHP PDO (FreeTDS) में पहले 255 वर्ण लौटाती है

  4. SQL कीवर्ड की तरह दिखने वाले SQL कॉलम नामों से कैसे निपटें?

  5. ORDER BY क्लॉज के साथ एक दृश्य बनाएं