Поле Password в запросе INSERT INTO (BC++ Builder 6.0)?
Есть БД MS Access с таблицей Table1.
Поля:
Account (строковая переменная)
Password (строковая переменная)
ID (счетчик)
Comment (строковая переменная)
В BC++ Builder (v6.0 Enterprise) добавил компоненту TADOQuery и В ее свойство SQL записал запрос следующего вида:
INSERT INTO Table1 (Account, Password, Comment) VALUES (1,'11',111)
Прога запускается и при срабатывании этого запроса выдается ошибка:
"Project Proj1.exe rised exaption class EOleException with message 'Ошибка синтаксиса в инструкции INSERT INTO' ".
Запись не добавляется. Насколько я понял он ругается на поле Password (кажется он воспринимает его как какое-то служебное слово, инструкция ...).
Поменять его название нельзя - этой таблицей пользуется еще другая прога.
Пробовал по другому:
INSERT INTO Table1 (Account, Table1.Password, Comment) VALUES (1,'11',111)
тоже не работает, говорит, что запрос содержит неизвестное имя поля Table1.Password.
Как сделать так чтоб INSERT INTO нормально добавлял мои записи с заданными мною значениями Password?
Создал в MS SQL Server 2000 такую же таблицу. Через QueryAnalizer запустил такие же запросы - оба нормально добавили новые записи. А вот в BC++ Builder c MS Access БД что-то не получается.
Проблема решилась так - взял названия полей в квадратные скобки. Новые записи добавляются вроде без ругани со стороны BCB. :)
Цитата:
Originally posted by Unregistered
Проблема решилась так - взял названия полей в квадратные скобки. Новые записи добавляются вроде без ругани со стороны BCB. :)
Проблема решилась так - взял названия полей в квадратные скобки. Новые записи добавляются вроде без ругани со стороны BCB. :)
Не стоит создавать проблемы используя служебные слова в качестве имен полей, например - password,count и тому подобное. И квадратные скобки не понадобятся.