sql >> Database teknologi >  >> RDS >> Sqlserver

Overtrædelse af PRIMÆR NØGLE-begrænsning

Det, du vil gøre, er først at tjekke for den eksisterende post, og hvis den ikke eksisterer, tilføje en ny. Din kode vil altid forsøge at tilføje en ny post. Jeg går ud fra, at du bruger Linq2Sql (baseret på 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. Sådan hentes felt fra MySQL-forespørgselsresultat i bash

  2. Mysql bestille varer inden den seneste af 2 datoer

  3. PHP:Stjerneklassificeringssystemkoncept?

  4. Sådan får du den aktuelle tid i PostgreSQL