Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

IBUpdateSQL - не получается ApplyUpdates [D6, IB6.x]


Siv Soft ©   (2003-04-14 12:28:00) 

Доброго всем времени суток!
В своей проге использую механизм кэшированных изменений. Т.к. ИнтерБаза не поддерживает автоматическое увеличение ключевого поля, то делаю это программно: процедура на сервере выдает в прогу сгенерированный код, помещаю его в переменную и при вставке записи заношу. Все вроде нормально в клиентской копии, но после попытки применить изменения в БД выдает следующую ошибку:
"Dynamic SQL Error
SQL error code= -104
Token unknown - line 1, char 50
?"
В IBUpdateSQL свойстве InsertSQL содержится:
INSERT INTO Witnesses (code, num_bs, fio)
VALUES (:code, :num_bs, :fio)
Вроде правильно, так в чем же проблемма? Как пофиксить?


Siv Soft   (2003-04-14 13:36:00) [1]

Забыл... ;)
Сделал - работает... :)
Всем спасибо за поддержку!


Наталия   (2003-04-14 13:09:00) [2]

commit сделал?


Соловьев   (2003-04-14 13:08:00) [3]

commit


Siv Soft   (2003-04-14 13:06:00) [4]

Интересно, что в на http://www.ibase.ru/devinfo/generator.htm
как раз и предлагалось, пользоваться хранимыми процедурами на ИнтерБазе и через них получать в проге данные о коде и вставлять его самостоятельно без ИнтерБазы.
Проблемму с ошибкой уже пофиксил. Не вылазит. Но все равно запись не вставляет. Делаю тест, при этом наблюдаю в мониторе:
14.04.2003 12:02:42
[Application: Site_congregat]
: [Prepare] INSERT INTO Witnesses (code, num_bs, fio) VALUES (:code, :num_bs, :fio)

Plan:
14.04.2003 12:02:42
[Application: Site_congregat]
: [Execute] INSERT INTO Witnesses (code, num_bs, fio) VALUES (:code, :num_bs, :fio)

CODE = 14227
NUM_BS = 1
FIO = fghfghfhgfgh
Все вроде хорошо. Смотрю в БД - а запись не вставилась. Как пофиксить?


Jaxtor   (2003-04-14 12:42:00) [5]

А мне вот непонятно, почему при работе с IBDataSet, если в его свойство SelectSQL входит строка returning_values генерится ошибка.


Соловьев   (2003-04-14 12:36:00) [6]


> Т.к. ИнтерБаза не поддерживает автоматическое увеличение
> ключевого поля

триггер+генератор


Delirium^.Tremens   (2003-04-14 12:34:00) [7]


> Вроде правильно, так в чем же проблемма? Как пофиксить?

http://www.ibase.ru/

И учиться, учиться...


Наверх

Титульная страница Поиск, карта сайта Написать письмо