sql >> Databáze >  >> RDS >> Sqlserver

Porušení omezení PRIMARY KEY

Co chcete udělat, je nejprve zkontrolovat existující záznam, a pokud neexistuje, pak přidat nový. Váš kód se vždy pokusí přidat nový záznam. Předpokládám, že používáte Linq2Sql (na základě 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. Měli byste v SQL Serveru zvolit datové typy MONEY nebo DECIMAL(x,y)?

  2. Jak vytvořit jazykové soubory Codeigniter z databáze?

  3. Generování sql kódu programově

  4. Výběr řádků MYSQL se stejnými názvy polí a přidání předpony