|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.12.2013, 04:26 | #1 |
Форумчанин
Регистрация: 30.10.2010
Сообщений: 524
|
DBGrid, ADOQuery(обьединение двух таблиц)
Доброго времени суток!
Есть БД "Спортивные соревнования", а точнее -футбол. Есть следующие таблицы: Matches(регистрация проведённых матчей): Снимок.JPG Список комманд: Снимок2.JPG Задача: вывести в DBGrid записи с таблицы Matches, но с заменой кодов комманд с таблицы Commands на название комманд с последующей возможностью добавления/редактирования записей непосредственно в TDBGrid /или с помощью TDBNavigator. Проблема: данные я то вывел(с помощью SQL-запроса в TADOQuery), но вот редактированию (так и добавлении) записи, увы, не поддаются. Возможно как-то решить эту проблему с помощью этих(или других с этой категории) компонентов? Как наладить связь между полями 2-х таблиц? |
21.12.2013, 14:58 | #2 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
ADOQuery умеет редактировать непосредственно в DBGrid только тогда, когда БД находится под управлением MS SQL Server.
Для всех других СУБД эта фича недоступна. Для непосредственного редактирования нужно применять ADOTable с Lokup полями, каждое из которых соединено через свои ADOTable. |
21.12.2013, 19:52 | #3 |
Форумчанин
Регистрация: 30.10.2010
Сообщений: 524
|
Можете поподробней расписать, как сделать это в моей ситуации?
Буду благодарен |
21.12.2013, 20:13 | #4 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Вкратце (по-другому читать надо источники):
- для отображения и редактирования размещаем ADOTable (соединяем его с таблицей в БД; DBGrid через DataSource соединяется с этим ADOTable, которую называем главной); - размещаем еще ADOTable, которое "смотрит" в таблицу "Команды"; - в главном ADOTable вызываем список колонок (двойной щелчок на компоненте) и вставляем все поля в списке (в контекстном меню "Add all fields"); - добавляем новое поле (в контекстном меню "New field"); - в диалоге выбирается "Lookup"; там и выбираем таблицу, которая соединена с другой таблицей. в общем, и т.д. Здесь не учебный полигон и рассказывать все в подробностях нет никакого желания, потому как об этом можно найти если не 1000, то с сотню материалов по этой теме. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запрос adoquery вывод из двух таблиц | undead92 | SQL, базы данных | 1 | 19.01.2012 12:39 |
как в Dbgrid удалять строку состоящую из двух таблиц | Fanar | БД в Delphi | 8 | 12.03.2011 12:21 |
добавление данных из двух таблиц в DBGrid | AJlEKCA | БД в Delphi | 2 | 09.01.2011 14:31 |
Слияние двух AdoQuery в одном DBGrid | Марк Охман | БД в Delphi | 3 | 17.12.2010 21:27 |