2010-03-09 2 views
0

В MS Access DatabaseВ MSAcess базы данных, вставки запроса вставить символ с апострофом

Вставить запрос вставить символ ------> N'tetarnyl

У меня есть запрос вставки

OleDbCommand cmd = new OleDbCommand("insert into checking values('" + _ 
         dsGetData.Tables[0].Rows[i][0].ToString() + "','" + _ 
         dsGetData.Tables[0].Rows[i][1].ToString()+ "')", con); 

но он показывает мне ошибку ...

ошибка синтаксиса (отсутствующий оператор) в выражении запроса

любая идея ??? Как я могу написать запрос на вставку для вставки N'tetarnyl (включая апостроф)

ответ

2

Вам необходимо избегать ваших ', написав его дважды. Самый простой способ сделать это YourString.Replace("'", "''")

OleDbCommand cmd = new OleDbCommand("insert into checking values('" + dsGetData.Tables[0].Rows[i][0].ToString().Replace("'", "''") + "','" + dsGetData.Tables[0].Rows[i][1].ToString().Replace("'", "''") + "')", con); 
0

В MS Access апострофы цитируются путем их удвоения.

OleDbCommand cmd = new OleDbCommand("insert into checking values('" 
+ dsGetData.Tables[0].Rows[i][0].ToString().Replace("'", "''") + "','" 
+ dsGetData.Tables[0].Rows[i][1].ToString().Replace("'", "''")+ "')", con); 
0

Вы можете сделать dsGetData.Tables [0] .Rows [я] [0] .ToString(). Заменить ("'", "'"), и то же самое с строками [i] [1].

Это должно заменить все одинарные кавычки на 2x одинарные кавычки, который является символом escape для SQL.

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