Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > не работает INSERT


Автор: svoloch 10.4.2010, 22:33
пытаюсь вставить в бд ACCESS используя ADOCommand данные:
Код

    ADOCommand.commandText:='INSERT INTO Pay (sum) VALUES (777)';
    ADOCommand.execute;

полностью уже убрал все возможные поля, оставил одно числовое поле - sum. Однако delphi продолжает утвардать что здесь таиться синтаксическая ошибка, которую я после долгого копания и бубно-плясок так и не вразумел.

Автор: Данкинг 10.4.2010, 22:41
А "sum" не зарезервированное ли слово? Попробуй переименуй поле "sum".

Автор: Gluttton 10.4.2010, 22:44
А какой текст сообщения об ошибке?
Какова струкура БД в которую вставляються данные:
- возможно в таблице есть поля с ограничением NOT NULL;
- возможно в БД существуют ограничения ссылочной целосности, которые не позволяют выполнить вставку.
Возможно проблема в имени столбца - sum, т.к. это ключевое слово (возможно стоит взять его в квадратные скобки)...

Автор: svoloch 10.4.2010, 22:51
все куда проще
ошибку выдает : Ошибка синтаксиса в инструкции INSERT INTO
нашел решение
Код

   ADOCommand.commandText:='INSERT INTO [Pay] ([sum]) VALUES ("777")';
   ADOCommand.execute;

КВАДРАТНЫЕ СКОБКИ.....капец

Автор: Данкинг 10.4.2010, 23:00
svoloch, а поле переименовать всё же не пробовал?

Добавлено через 47 секунд
Цитата(svoloch @  10.4.2010,  23:51 Найти цитируемый пост)
все куда проще

Проще как раз не использовать зарезервированных имён. smile 

Автор: svoloch 11.4.2010, 15:21
не пробовал. а вообще уже после возникла ситуация, когда пришлось обвернуть квадратными скобками слово Section. Если sum я еще могу понять что зарезервировано, то это то то..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)