Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

प्राथमिक कुंजी बाधा का उल्लंघन

आप जो करना चाहते हैं, वह पहले मौजूदा रिकॉर्ड की जांच करना है, और यदि यह मौजूद नहीं है, तो फिर एक नया जोड़ें। आपका कोड हमेशा एक नया रिकॉर्ड जोड़ने का प्रयास करेगा। मुझे लगता है कि आप Linq2Sql का उपयोग कर रहे हैं (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. SqlDataSourceEnumerator.Instance.GetDataSources() स्थानीय SQL सर्वर 2008 आवृत्ति का पता नहीं लगाता है

  2. SQL सर्वर (SSMS) में डेटाबेस मेल कैसे सेटअप करें

  3. SQL सर्वर में ALL का उपयोग करने के 3 तरीके

  4. SQL सर्वर में एक विशाल तालिका डेटा को किसी अन्य तालिका में कैसे कॉपी करें

  5. ORDER BY क्लॉज विचारों, इनलाइन कार्यों, व्युत्पन्न तालिकाओं, उपश्रेणियों और सामान्य तालिका अभिव्यक्तियों में अमान्य है