Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2008, 00:58   #1
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию SQL запрос и редактирование данных

Есть база данных Access, состоящая из нескольких таблиц. Доступ осуществляется через ADO. В результате выполнения SQL-запроса в DBGrid выводятся необходимые записи. Вопрос в том, что при попытке редактирования этих записей выдается ошибка "Недостаточно сведений из основной таблицы для обновления". Как с этим бороться? Заранее спасибо!
Dux вне форума Ответить с цитированием
Старый 01.09.2008, 08:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
при попытке редактирования этих записей
Как редактируем?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.09.2008, 11:02   #3
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Запрос следующего вида:
Код:
with ADOQuery1.SQL do begin
  Add('SELECT * FROM DATA1 where Availability = "ASAP"');
  Add(' UNION ');
  Add('SELECT * FROM DATA2 where Availability = "ASAP"');
  Add(' UNION ');
  Add('SELECT * FROM DATA3 where Availability = "ASAP"');
end;
Результат выводится в DBGrid. При попытке "обычного" редактирования выскакивает ошибка..
Dux вне форума Ответить с цитированием
Старый 01.09.2008, 11:11   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
При попытке "обычного" редактирования
Редактируй необычно. Через команду SQL-UPDATE
DBGrid не поддерживает (а точнее криво поддерживает) редактирование Query
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.09.2008, 11:44   #5
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Редактируй необычно. Через команду SQL-UPDATE
DBGrid не поддерживает (а точнее криво поддерживает) редактирование Query
А можно пример использования этой команды?
Dux вне форума Ответить с цитированием
Старый 01.09.2008, 11:57   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
query.sql.add('UPDATE customer;
	SET maxordamt = maxordamt - 10;
	WHERE recno() = '+query1.Recno);
query.execsql
Здесь добавление в текущую запись
и после этого не забывай переоткрывать набор.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.09.2008, 12:06   #7
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
query.sql.add('UPDATE customer;
	SET maxordamt = maxordamt - 10;
	WHERE recno() = '+query1.Recno);
query.execsql
Здесь добавление в текущую запись
и после этого не забывай переоткрывать набор.
Спасибо, но что-то я ничерта не понял в этом коде. Результат аналогичен Adotable1.Edit?
Dux вне форума Ответить с цитированием
Старый 01.09.2008, 12:17   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ну-у-у я бы не сказал, но в принципе да...
Эта команда гораздо гибче и богаче возможностями...
Ты вообще смотри в сторону SQL - это получше чем борландовские VCLные методы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50
запрос который бы подсчитывал количество полных лет начиная с того года который указан в данных мне базах PereCCC Помощь студентам 8 15.05.2008 16:24
Редактирование документа Rend1 Общие вопросы Delphi 3 27.01.2008 10:24
Редактирование AntiZero Помощь студентам 2 12.11.2007 18:02