2015-09-05 78 views
-1

我有簡單的代碼插入數據庫,它工作正常;簡單更新MySQL C#

static public void InsertUser(string userName, int age, DataGridView DadataGridView1) 
    { 
     try 
     { 
      if (connection.State == ConnectionState.Closed) 
       connection.Open(); 
      MySqlCommand commandInsert = new MySqlCommand("INSERT INTO IP(Username,Age) VALUES(@Username,@Age)", connection); 
      commandInsert.Parameters.AddWithValue("@username", userName); 
      commandInsert.Parameters.AddWithValue("@age", age); 
      commandInsert.ExecuteNonQuery(); 
      commandInsert.Parameters.Clear(); 
      MessageBox.Show("User Inserted sucessfuly"); 
     } 
     catch (MySqlException exception) 
     { 
      MessageBox.Show(exception.ToString()); 

     } 
     finally 
     { 
      connection.Close(); 

     } 
    } 

我需要爲UPDATE和GET數據編寫代碼。 請指教,我是C#的初學者。 謝謝。

+0

可能重複的[如何直接在C#中執行SQL查詢?有示例批處理文件](http://stackoverflow.com/questions/21709305/how-to-directly-execute-sql-query-in-c-have-example-batch-file) –

回答

0

希望您可能擁有此表的主鍵,您可以使用ON DUPLICATE KEY UPDATE,以便您不必爲更新編寫不同的查詢。如果密鑰重複(存在),則該值會更新。所以你的命令將如下所示:

MySqlCommand commandInsert = new MySqlCommand("INSERT INTO IP(Username,Age) VALUES(@Username,@Age) ON DUPLICATE KEY UPDATE Username=VALUES(Username),Age=VALUES(Age)", connection); 
+0

謝謝。有用。 – stckf