Поиск:

Ответ в темуСоздание новой темы Создание опроса
> insert into - ошибка синтаксиса 
:(
    Опции темы
Sponger
Дата 4.3.2006, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 14.2.2006

Репутация: нет
Всего: нет




ADOCommand1.CommandText := 'INSERT INTO main (LotID, date) VALUES (:lotID,:DateLot);';
ADOCommand1.Parameters.ParseSQL(mainCommand.CommandText, TRUE);
ADOCommand1.Parameters.ParamValues['LotID'] := inputString;
ADOCommand1.Parameters.ParamValues['DateLot'] := date();
ADOCommand1.Execute;

Почему не добавляет новую строку. Пишет ошибка синтаксиса ...
PM MAIL   Вверх
DimW
Дата 4.3.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Цитата(Sponger @ 4.3.2006, 08:36 Найти цитируемый пост)
'INSERT INTO main (LotID, date) VALUES (:lotID,:DateLot);'


попробуй поменять имя таблицы, ну так хотя бы main_t.

Это сообщение отредактировал(а) DimW - 4.3.2006, 10:30
PM MAIL ICQ   Вверх
DDX
Дата 6.3.2006, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 31.1.2005
Где: Москва

Репутация: 5
Всего: 5



Цитата(Sponger @ 4.3.2006, 08:36 Найти цитируемый пост)
ADOCommand1.Parameters.ParamValues['LotID'] := inputString;

может, у тебя LotID - числовое поле, а пихаешь ты в него символьное?

и неплохо было бы базу и способ доступа указать

Это сообщение отредактировал(а) DDX - 6.3.2006, 15:21
--------------------
Учиться, учитьcя и ещё раз учиться  
PM MAIL WWW   Вверх
Sponger
Дата 9.3.2006, 06:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 14.2.2006

Репутация: нет
Всего: нет



В этой таблице проблема была в связанном поле, которое не заполнялось.

Но есть другие таблицы, где то-же самое.

ADOCommand1.commandText := 'UPDATE brand SET short = :short, name = :name ' +
'WHERE brandID = :brandID;';

ADOCommand1.Parameters.ParseSQL(ADOCommand1.CommandText, TRUE);
ADOCommand1.Parameters.ParamValues['short'] := UpperCase(aString[0]); // строка
ADOCommand1.Parameters.ParamValues['name'] := aString[1]; // строка
ADOCommand1.Parameters.ParamValues['brandID'] := fmain.brand.FieldValues['brandID']; //числовое
ADOCommand1.Execute;

или

ADOCommand1.CommandText := 'INSERT INTO brand (short, name) VALUES (:short, :name);';
ADOCommand1.Parameters.ParseSQL(ADOCommand1.CommandText, TRUE);
ADOCommand1.Parameters.ParamValues['short'] := UpperCase(aString[0]);
ADOCommand1.Parameters.ParamValues['name'] := aString[1];
ADOCommand1.Execute;


Поле brandID - счетчик, связанное. Если связь убираю ошибка не исчезает.
База Access

Обе команды дают ошибку синтаксиса.
PM MAIL   Вверх
Vit
Дата 9.3.2006, 06:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



date очень похоже на зарезервированное слово, попробуй в квадратных скобках его писать. Точка с запятой в конце запроса точно не нужна


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Sponger
Дата 9.3.2006, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 14.2.2006

Репутация: нет
Всего: нет



Спасибо. Взял имена полей в [] и все заработало.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0470 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.