簡體   English   中英

ExecuteNonQuery不會更新SQL Server

[英]ExecuteNonQuery doesn't update SQL server

我正在使用這些線路連接到SQL Server

SqlCommand scom = new SqlCommand(testing, conn);
scom.ExecuteNonQuery();

如果testing的價值很簡單:

string testing = "Insert INTO People (ID, Name) values (123,'Lara')"; 

它完美地工作。 但是,如果我使用類似:

String testing = "Insert INTO People (ID, Name) values (123,'Lara')" +
                 " ON DUPLICATE KEY UPDATE Name = 'Lara'";

SQL服務器未更新,代碼轉到catch語句,如果我使用if exist它也將無法正常工作。 這是我的代碼,需要更多說明:

SqlConnection conn = new SqlConnection("Data Source=ServerName;" +
    "Initial Catalog=DataBaseName;" +
    "Integrated Security=True;");

try
{
    conn.Open();
    string testing= "Insert INTO People (ID, Name) values (123,'Lara')";
    SqlCommand scom = new SqlCommand(testing, conn);
    scom.ExecuteNonQuery();
    MessageBox.Show("Saved! ");
}    
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
    System.Windows.Forms.MessageBox.Show("Halted! ");
}
finally
{
    conn.Close();
}    

沒有等效的DUPLICATE KEY UPDATE ,但MERGEWHEN MATCHED可能對您WHEN MATCHED

使用MERGE插入,更新和刪除數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM