2011-01-02 2 views
2

Я использую MySQL с .NET (C#), и я хочу, чтобы сохранить путь к диску в БД Например: "D: \" ИЛИ "\ NetworkDrive", и я используюпобега путь диска C# Для MySQL

MySqlCommand objCommand = new MySqlCommand(strSql, Connection); 
objCommand.CommandType = CommandType.StoredProcedure; 
objCommand.Parameters.Add(new MySqlParameter("paramName","D:\\"); 
objCommand.ExecuteNonQuery(); 

он вернет ошибку как этого «типа необработанного встречается» Я стараюсь, чтобы избежать этого пути

objCommand.Parameters.Add(new MySqlParameter("paramName","D:\\\\"); 
objCommand.Parameters.Add(new MySqlParameter("paramName",@"D:\\"); 
objCommand.Parameters.Add(new MySqlParameter("paramName","D:\\"); 

также он не работает.

+0

Каков тип данных столбца paramName? – ShahidAzim

+0

Тип данных NVARCHAR – Hiyasat

+0

Можете ли вы запустить запрос с любой строкой, например '' test '', или эта проблема возникает только со строками, содержащими пути? –

ответ

0

У меня была аналогичная проблема с использованием MS-SQL, где я хотел поставить апостроф в запрос. Используйте экранирующий символ MYSQL, список которых здесь:

http://dev.mysql.com/doc/refman/5.0/en/string-syntax.html

В принципе, если вы знаете, за то один из этих проблемных персонажей будут в вашем запросе, избежать их с .Привернуть перед вами создайте свой запрос.

+0

моя проблема заключается не в том, чтобы хранить одну квоту, может быть проблема в том, чтобы хранить путь к диску (фиксированный или сетевой) :) – Hiyasat

0

В MySql вы обычно используете? для идентификаторов параметров, попробуйте:

objCommand.Parameters.Add(new MySqlParameter("?paramName",@"D:\"); 
+0

Это не мой вопрос, но я пытаюсь отправить @ "D: \" и его не работает! – Hiyasat

Смежные вопросы