2016-07-04 3 views
0

を更新しません:は、ExecuteNonQueryは<code>testing</code>の値がシンプルであれば、私は、SQL Server</p> <pre><code>SqlCommand scom = new SqlCommand(testing, conn); scom.ExecuteNonQuery(); </code></pre> <p>に接続するために、これらの行を使用していますSQLサーバー

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サーバーは、私はそれは同様に動作しないif existを使用している場合も、更新されたコードは、ステートメントをキャッチするために行くされていません。

が同等の無 DUPLICATE KEY UPDATEありません
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(); 
}  
+5

'コードがエラーとは何であるstatement'キャッチするために行くあなたのために働くかもしれない: はここで、より明確化のために私のコードですか? – user3185569

+0

sql-serverタグを削除するMysql構文 –

+0

@JaydipJ - OPがSQL Serverクライアントオブジェクト( 'SqlCommand'など)を使用しているため、SQL Serverで作業しているようです。 –

答えて

関連する問題

 関連する問題