我試圖更新柱/列包含以下值:更新在MySQL
\\localhost\db\kkk\086018\ss\DocA\1_216925.jpg
與
\\localhost\db\kkk\086018\dd\DocA\1_216925.jpg
使用下面的C#代碼:
string str = "update my_document " +
"set path = replace (path,'" + fromFolder + "','" + toFolder + "')" +
"where doc_id in(select doc_id from patient_document where folder_id='" + id + "')";
str.Replace("\\", "\\\\");
Console.WriteLine(str);
using (MySqlConnection conn = new MySqlConnection(ECModel.Instance.ConnString))
{
using (MySqlCommand cmd = new MySqlCommand(str, conn))
{
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
}
什麼我注意到這個路徑正確地提交給mysql,但它不會反映自C#應用程序和mysql之間,所有\\轉換爲\。
你能介意我怎麼解決我的問題嗎?
- 我在我的前面也使用@但也解決方案也沒有工作。
**還我注意到,當我運行\\\\它工作正常我的更新語句。
你需要弄清楚如何爲你的數據使用佔位符值,而不是僅僅用連接來搗碎它。這是整個問題的源頭,其中最重要的是[SQL注入漏洞](http://bobby-tables.com/)。 – tadman
@tadman上帝拯救你。我的問題通過使用參數解決。謝謝你的提示。 – MariN