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

Vi phạm ràng buộc CHÍNH CHÍNH

Điều bạn muốn làm trước tiên là kiểm tra bản ghi hiện có và nếu nó không tồn tại, thì sau đó thêm một cái mới. Mã của bạn sẽ luôn cố gắng thêm một bản ghi mới. Tôi giả sử bạn đang sử dụng Linq2Sql (dựa trên InsertOnSubmit )?

public void Subscribe(string clientID, Uri uri)
{
    using(clientsDBDataContext clientDB = new clientsDBDataContext())
    {
        var existingClient = (from c in clientDB.clientURIs
                              where c.clientID == clientID
                              select c).SingleOrDefault();

        if(existingClient == null)
        {
            // This is a new record that needs to be added
            var client = new ServiceFairy.clientURI();
            client.clientID = clientID;
            client.uri = uri.ToString();
            clientDB.clientURIs.InsertOnSubmit(client);
        }
        else
        {
            // This is an existing record that needs to be updated
            existingClient.uri = uri.ToString();
        }
        clientDB.SubmitChanges();
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phân tích cú pháp XML thành SQL Server

  2. Đặt lại AutoIncrement trong SQL Server sau khi Xóa

  3. Tập lệnh để loại bỏ tất cả các kết nối đến cơ sở dữ liệu (Hơn RESTRICTED_USER ROLLBACK)

  4. SQL Server INFORMATION_SCHEMA Lượt xem | Xem nếu một bảng tồn tại

  5. So sánh các kiểu dữ liệu ngày và giờ trong SQL Server