2010-10-13 3 views
1

У меня проблема с этим кодом, может быть, вы можете дать мне руку. Вставка информации о файле в виде строк с именем, размером, ... все они являются varchars Проблема в том, что «имя» имеет эти «тильды» в файле имен, поэтому, когда он пытается проанализировать данные, которые он сбой.C# + OLEDB вставка varchar со специальным символом?

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

после "смотрю" есть "

моя команда: oleDbInsertCommand1 .CommandText = "INSERT INTO Dirs-Arcs (nombre, formato, tamaño, path, tags) VALUES (' "+ имя +"', '" + Formato +', '+ Tamano +', '+ путь + "',«" + та гс + ")";

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

ответ

3

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

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

Марио

+0

Благодаря Марио, который работал отлично. Я видел пример, подобный этому, но до сих пор я этого не понимал. спасибо – HoNgOuRu

+0

сейчас сделаю. :) thank u – HoNgOuRu

+0

Добро пожаловать! –

0

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

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