Update ----> ADOQuery

YakovleFF
Дата: 01.07.2009 21:44:24
Выполняю запрос по On click
gaubd_DataModule.demands_ADOQuery.Active:=False;
gaubd_DataModule.demands_ADOQuery.SQL.Clear;
gaubd_DataModule.demands_ADOQuery.SQL.Add('UPDATE loads') ;
gaubd_DataModule.demands_ADOQuery.SQL.Add('SET Create='+Main_Form.user+'');
gaubd_DataModule.demands_ADOQuery.SQL.Add('WHERE ID='+DBEdit1.Text+'');
gaubd_DataModule.demands_ADOQuery.Active:=True;

Выдаёт ошибку"VERHOTUROV (это значение переменной +Main_Form.user+) не уникально"

База реализована на access.

Вчём может быть допущена ошибка?

Модератор: Используйте тег SRC для оформления кода, пожалуйста.
andreymx
Дата: 01.07.2009 21:53:39
YakovleFF
Выполняю запрос по On click
gaubd_DataModule.demands_ADOQuery.Active:=False;
gaubd_DataModule.demands_ADOQuery.SQL.Clear;
gaubd_DataModule.demands_ADOQuery.SQL.Add('UPDATE loads') ;
gaubd_DataModule.demands_ADOQuery.SQL.Add('SET Create='+Main_Form.user+'');
gaubd_DataModule.demands_ADOQuery.SQL.Add('WHERE ID='+DBEdit1.Text+'');
gaubd_DataModule.demands_ADOQuery.Active:=True;

Выдаёт ошибку"VERHOTUROV (это значение переменной +Main_Form.user+) не уникально"

База реализована на access.

В чём может быть допущена ошибка?
1. Так у вас же всё прямо русским текстом написано!
В таблице loads есть констрайнт на уникальность по полю Create?

Прочее:
2. Вместо demands_ADOQuery.Active:=True используйте demands_ADOQuery.ExecSQL
3. Используйте параметры.
RENaissance
Дата: 01.07.2009 23:07:10
ПАРАМЕТРЫ, ПАРАМЕТРЫ, ПАРАМЕТРЫ! (с)
YakovleFF
Дата: 03.07.2009 08:45:45
Констрайнт на уникальность в таблице нет.
Через SQL SQL Explorer обновляет без проблем.
В чём может быть зацепка?
YakovleFF
Дата: 03.07.2009 08:53:50
Всё спасибо с ошибкой разобрался, исправил.

Теперь появилась другая ошибка:

"VERHOTUROV (это значение переменной +Main_Form.user+) Параметр не имеет значения по умолчанию.
Anatoly Podgoretsky
Дата: 03.07.2009 09:21:06
YakovleFF
Параметр не имеет значения по умолчанию.

Сдается мне, что у тебя хакерская версия Дельфи. Поломаная пиратами. Дельфи по русски не пишет.
YakovleFF
Дата: 03.07.2009 10:14:33
Anatoly Podgoretsky
Дата: 03.07.2009 10:17:25
Теперь нормально.
Так сделай значение по умолчанию, или разреши NULL параметры, или не создавай параметр.

--
http://www.podgoretsky.com
YakovleFF
Дата: 03.07.2009 11:42:40
Anatoly Podgoretsky, не могли бы Вы более углублённо пояснить.
Anatoly Podgoretsky
Дата: 03.07.2009 12:22:42
Углубленно говоришь.
Ну

1. сделать то, на что ругается, задать параметру значение по умолчанию
2. возможно это из-за NULL в параметре
3. динамическое создание запроса, без включения не используемого параметра.

Вероятно у тебя просто ошибка в программе.

--
http://www.podgoretsky.com