C # + OLEDB вставить VARCHAR со специальным символом? - PullRequest
1 голос
/ 13 октября 2010

У меня проблема с этим кодом, может быть, вы можете помочь мне.Я вставляю информацию о файле в виде строк с именем, размером, ... они все varchars. Проблема в том, что у "name" есть эти тильды в имени файла, поэтому, когда он пытается проанализировать данные, происходит сбой.

имя файла: Creedence Clearwater Revival - Lookin ' Out My Back Door - 09.mp3

после слова "lookin" появляется'

моя команда: oleDbInsertCommand1.CommandText = "INSERT INTO Dirs-Arcs (nombre, formato, tamaño, path, tags) VALUES ('' + name +" ','"+ formato +"', '"+ tamaño +"', '"+ path +"', '"+ tags +"') ";

это прекрасно работает с именами файлов без этих символов, как я могу разобратьЭто лучше????спасибо.

Ответы [ 2 ]

3 голосов
/ 13 октября 2010

Используйте параметры:

OleDbCommand cmd = new OleDbCommand ( "INSERT INTO dirs-arcs (nombre, formato, tamano, path, tags) VALUES (@name, @format, @tamano, @path, @tags)", connection);

cmd.Parameters.Add( "@name", OleDbType.VarChar ).Value = name;
// add all parameters

hth

Mario

0 голосов
/ 13 октября 2010

Вы можете использовать AccessDataSource с параметрами. Если вы используете параметры, у вас не будет проблем с особыми символами.

...