Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема при выполнении запроса изменяющего данные в таблице

26K
12 апреля 2007 года
respown
3 / / 11.04.2007
HI ALL!!! Проблема тут такая, есть реальная БД на ACCESS, через ADO эта БД подключена к Builder'y, в БД есть главная таблица, у этой главной таблицы через связь один-ко-многим есть две подчиненные таблицы(будем рассматривать одну), когда я создаю запись в главной таблице в подчиненной создается автоматом 80 записей, так как они всегда повторяются, но те поля, которые необходимо изменять инициализируются 0'ём, затем такая фигня идет на форме модификации записей подчиненой таблицы: допустим есть в таблице поле god, для него в этой же таблице так же имеется еще одно поле god_2, поле god основное, поле god_2 темповое, объясню, в течении года для разных записей заполняется поле god_2, но в конце года по нажатию какойто кнопки во всех подчиненых таблицах значение поля god_2 должно через запрос присваиваца значению поля god, и поле god_2 после чего становица равным 0.

Пишу следующий запрос:
 
Код:
DataModule1->Rozdel1Query->Active = false;
DataModule1->Rozdel1Query->SQL->Clear();
DataModule1->Rozdel1Query->SQL->Add("UPDATE razdel_1 set razdel1.god = razdel_1.god_2, razdel_1.god_2 = 0");
DataModule1->Rozdel1Query->ExecSQL();
DataModule1->Rozdel1Query->Active = true;

В ACCESSE его проверял заранее, работает без лагов!!! в Builder же при выполнении запроса вылетает исключение:

Цитата:
Параметр razdel1.god не имеет значения по умолчанию.



Значение по умолчанию у этого поля стоит везде где только можно поставить(включая ACCESS)!!!

Я уже выдолбался с етой ошибкой, переписал без запроса все работает нормально, с запросом глючит, не могу понять в чем причина ошибки, нужно сделать через запрос!!! второй вариант не катит(разве что тока как самый последний вариант).

Заранее благодарен!!!

385
12 апреля 2007 года
SomewherSomehow
477 / / 25.07.2004
Обычно такое пишется если драйвер не знает в базе такого поля или таблицы. Поле точно называется "razdel1.god" (тогда где в запросе присутствует таблица razdel1 - естественно т.к. ее нет - то будет ошибка)?
уверен что не вот так? =)
 
Код:
UPDATE razdel_1 set razdel_l.god = razdel_1.god_2, razdel_1.god_2 = 0
26K
12 апреля 2007 года
respown
3 / / 11.04.2007
Цитата: SomewherSomehow
Обычно такое пишется если драйвер не знает в базе такого поля или таблицы. Поле точно называется "razdel1.god" (тогда где в запросе присутствует таблица razdel1 - естественно т.к. ее нет - то будет ошибка)?
уверен что не вот так? =)
 
Код:
UPDATE razdel_1 set razdel_l.god = razdel_1.god_2, razdel_1.god_2 = 0



Блин, а ты прав, че то я не досмотрел, спасибо большое, такая тупая ошибка, как же я ее сразу не заметил...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог