Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Pelanggaran batasan PRIMARY KEY

Yang ingin Anda lakukan adalah terlebih dahulu memeriksa catatan yang ada, dan jika tidak ada, lalu tambahkan yang baru. Kode Anda akan selalu berusaha menambahkan catatan baru. Saya berasumsi Anda menggunakan Linq2Sql (berdasarkan 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. Spotlight Tuning Pack Basic:Alat Pengoptimalan SQL Gratis Terbaik

  2. Cara menghitung usia (dalam tahun) berdasarkan Tanggal Lahir dan getDate()

  3. Tetapkan porsi waktu dari variabel datetime

  4. Sorotan Cloud Basic:Alat Pemantau Kinerja Basis Data Gratis Terbaik

  5. Bagaimana Anda bisa memberi nama Tabel Dataset yang Anda kembalikan dalam proc tersimpan?