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

अगर नाम मौजूद है तो अपडेट करें और डालें - SQL सर्वर में

आपको चाहिए

  • पैरामीटर का उपयोग करें आपकी क्वेरी में - हमेशा! - कोई अपवाद नहीं
  • एक एकल क्वेरी बनाएं जो IF EXISTS() को संभालती है भाग सर्वर पर
  • चीजों को using() {....} में डालने की आम तौर पर स्वीकृत ADO.NET सर्वोत्तम प्रथाओं का उपयोग करें ब्लॉक आदि।

इस कोड को आजमाएं:

public void SaveData(string filename, string jsonobject)
{
    // define connection string and query
    string connectionString = "Data Source=.;Initial Catalog=;Integrated Security=True";
    string query = @"IF EXISTS(SELECT * FROM dbo.T_Pages WHERE pagename = @pagename)
                        UPDATE dbo.T_Pages 
                        SET pageinfo = @PageInfo
                        WHERE pagename = @pagename
                    ELSE
                        INSERT INTO dbo.T_Pages(PageName, PageInfo) VALUES(@PageName, @PageInfo);";

    // create connection and command in "using" blocks
    using (SqlConnection conn = new SqlConnection(connectionString))
    using (SqlCommand cmd = new SqlCommand(query, conn))
    {
        // define the parameters - not sure just how large those 
        // string lengths need to be - use whatever is defined in the
        // database table here!
        cmd.Parameters.Add("@PageName", SqlDbType.VarChar, 100).Value = filename;
        cmd.Parameters.Add("@PageInfo", SqlDbType.VarChar, 200).Value = jsonobject;

        // open connection, execute query, close connection
        conn.Open();
        int rowsAffected = cmd.ExecuteNonQuery();
        conn.Close();
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2012/2014 में छिपे हुए प्रदर्शन और प्रबंधनीयता में सुधार

  2. SQL सर्वर में लेनदेन रोलबैक का उपयोग करना

  3. स्पॉटलाइट क्लाउड बेसिक:बेस्ट फ्री डेटाबेस परफॉर्मेंस मॉनिटरिंग टूल

  4. मैं एक SQL चयन में IF...फिर कैसे निष्पादित करूं?

  5. मुझे SQL सर्वर में बिगिन/एंड ब्लॉक्स और गो कीवर्ड का उपयोग कब करना चाहिए?