2012-12-16 73 views
0

例子中的FolderBrowserDialog選擇數據庫路徑:這是我selected pathbrowserdialog保存使用MySQL和C#

C:\Users\PHWS13\Desktop 

它保存到數據庫後,路徑是這樣的

C:UsersPHWS13Desktop 

我對數據類型路徑字段爲VARCHAR(100)

這是我的SQL查詢

CREATE DEFINER=`xxxxxxxx`@`%` PROCEDURE `AddFolder`(folder_loc VARCHAR(100)) 
BEGIN 
    INSERT INTO `tbl_folder`(`folder_location`) VALUES(folder_loc); 

我該如何解決這個問題?

C#代碼:

public void AddFolder(string f) 
{ 
    cn.Open(); 
    cmd = new MySqlCommand("call AddFolder('" + f + "')", cn); 
    cmd.ExecuteNonQuery(); 
    cn.Close(); 
} 
+1

顯示它調用從C#中的PROC代碼 - 這是哪裏出了問題會。 –

+0

@GregSansom,更新:) – GrayFullBuster

回答

1

您需要使用\\,而不是逃避\

你AddFolder方法開始試試這個:

f=f.Replace("\\","\\\\"); 
+0

我明白了,謝謝!我會嘗試一下:D – GrayFullBuster

+1

另外,您還應該考慮使用參數來避免SQL注入漏洞的風險。大量的信息在谷歌:) –

+1

它的工作perfeclty – GrayFullBuster