2014-11-20 122 views
0

我試圖用新值更新一行中的一列。新值位於一個變量中,並且該值包含一個新行。 此方法接收字典中需要更改的列名和值,並創建一個動態更新命令。c#mysql - 使用mySqlParameter更新字段值以包含 r n

該代碼適用於表中的任何其他行,但涉及到換行符時,SQL錯誤說:您的SQL語法中有錯誤;檢查對應於你的MySQL服務器版本的手冊正確的語法附近

var valueStr = ""; 
for (var i = 0; i < srcRow.Count; i++) 
{ 
    valueStr += string.Format("{0} = ?prm{1}", srcRow.Keys.ElementAt(i),i); 
    if (i < srcRow.Count - 1) 
      valueStr += ", "; 


var query = string.Format("UPDATE {0} SET {1} WHERE {2}", table, valueStr, pkey); 

try 
{ 
    using (var cmd = destConn.CreateCommand()) 
    { 
     cmd.CommandText = query; 
     for (int i = 0; i < srcRow.Count; i++) 
     { 
      cmd.Parameters.AddWithValue("?prm" + i.ToString(),srcRow.Values.ElementAt(i)); 
     } 
     cmd.ExecuteNonQuery(); 
    } 
} 

感謝 使用Shimshon

+0

變量'query'中的值是什麼? – Rahul 2014-11-20 21:39:27

回答

0

嘗試用\\r\\n更換\r\n

MySQL的接受它,它會逃跑數據庫。