|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Не могу изменить данные при объединении таблиц
В ADQuery пишу запрос:
Код:
select * from task join funds using(id_task) Связываю ADQuery c DBGrid. Пытаюсь изменить данные. Но их можно изменить только для одной таблицы, указанной сразу после from, т.е. для task. Для остальных случаев выдаётся ошибка Error 01054 Unknown column 'subs' in 'field list' СУБД MySQL. Компоненты доступа к данным AnyDAC |
#2
|
||||
|
||||
Видимо subs фигурирует в обеих таблицах и без явного указания в какую таблицу пихать значение получаете ошибку.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
Вот обе таблицы:
Код:
CREATE TABLE zadanie.task( number SMALLINT (5) UNSIGNED NOT NULL, name VARCHAR (70) NOT NULL, id_task INT (10) UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (id_task) ) ENGINE = MYISAM CREATE TABLE zadanie.funds( id_task INT (10) UNSIGNED NOT NULL, subs DECIMAL (8, 2) DEFAULT NULL, gain DECIMAL (8, 2) DEFAULT NULL, id_funds INT (10) UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (id_funds) ) ENGINE = MYISAM |
#4
|
||||
|
||||
У меня MySQL не стоит, поэтому буду гадать
У вас Код:
task join funds Один к одному или Один ко многим? Если один к одному тогда попробуйте использовать отложенное сохранение выставив значаение ltBatchOptimistic для LockType и определив курсор локальным. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
Связь 1 к 1
Последний раз редактировалось Eugene86, 25.10.2009 в 21:34. |
#6
|
|||
|
|||
У меня не ADO, а AnyDAC.
Не нахожу я там, где курсор менять и LockType |
#7
|
|||
|
|||
Проблема решилась использованием компонента ADUpdateSQL с явным указанием запросов.
|