![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не проходит запрос INSERT INTO в ACCESS
cosmos © (2006-08-07 13:16:00)Здравствуйте уважаемые мастера!
Проблема такая! К бд ACCESS подключен через ADOConnection к нему подцеплен ADOQuery при попытке выполнить запрос
ADOQuery1.SQL.Add('insert into user_r(name,password) values(''z'',''z'')');
выдает сообщение :
"ошибка синтаксиса в инструкции INSERT INTO" хотя в самом ACCESSе такой запрос выполняеся (изменения только с точностью до апострофов)
версия ACCESS 2003
Neo Trinitron (2006-08-07 14:56:00) [1]> Да ну ?
Не обязательно, конечно, ну перепутал, с кем не бывает?
MsGuns (2006-08-07 14:43:00) [2]>Neo Trinitron © (07.08.06 14:02) [5]
>В MSAccess нужно ставить двойные кавычки для символьных констант
Да ну ?
Neo Trinitron (2006-08-07 14:09:00) [3]Точно, забыл про []. Desdechado, хороший совет, но для динамических Sql немного громоздко...
Desdechado (2006-08-07 14:07:00) [4]да-да, и зарезервированные слова в качестве метаданных тоже строго не рекомендуется
Desdechado (2006-08-07 14:06:00) [5]Параметры! Только их использовать, чтоб не было "В MSAccess нужно ставить", а в оракле..., а в LocalSQL ...
cosmos (2006-08-07 14:05:00) [6]проблема решилась!
поле password надо было заключить в квадратные скобки ([password]), а использовать двойные кавычки или одинарные не имеет значения так и так проходит!
всем спасибо за участие!
Neo Trinitron (2006-08-07 14:02:00) [7]В MSAccess нужно ставить двойные кавычки для символьных констант. Попробуй вместо " написать так:
ADOQuery1.SQL.Add('insert into user_r(name,password) values('+chr(34)+'z'+chr(34)+','+chr(34)+'z'+chr(34)+')');
cosmos (2006-08-07 13:58:00) [8]clear(); имеется.
в values стоят подряд две одинарные кавычки, помоему для текстовых полей так и нужно делать!
если вместо двух одинарных кавычек поставить двойные, то та же самая ошибка!
Neo Trinitron (2006-08-07 13:29:00) [9]Кавычки для values должны быть двойными а не одинарными... Это у Вас две одинарные или одни двойные, уточните...
Desdechado (2006-08-07 13:21:00) [10]Так сделай нормальные апострофы или используй параметры.
А еще есть подозрения, что перед Add() не стоит Clear().
Desdechado (2006-08-07 13:21:00) [11]И вообще лучше использовать ADOCommand