Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để biết liệu SQLexception có bị ném do vi phạm khóa ngoại hay không?

Giả sử bạn đang sử dụng SQL Server.

Sử dụng kho lưu trữ web teh - https://web.archive.org/web/20190120182351/https://blogs.msdn.microsoft.com/tomholl/2007/08/01/mapping-sql-server-errors-to-net -exceptions-the-fun-way /

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);
        }
    }

}

Trường hợp 547 là người đàn ông của bạn.

CẬP NHẬT Trên đây là mã mẫu và không nên sử dụng. Vui lòng theo liên kết để giải thích lý do.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách xem kế hoạch thực thi truy vấn trong Azure Data Studio (SQL Server)

  2. CEILING () Ví dụ trong SQL Server

  3. Tạo sơ đồ mối quan hệ bảng từ lược đồ hiện có (SQL Server)

  4. Truy vấn SQL chậm trong ứng dụng .NET nhưng ngay lập tức trong SQL Server Management Studio

  5. 3 cách liệt kê tất cả các thủ tục được lưu trữ trong cơ sở dữ liệu SQL Server