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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2009, 02:17   #1
Kamelli_13
 
Аватар для Kamelli_13
 
Регистрация: 01.05.2009
Сообщений: 7
Вопрос Как можно изменить у DBGrid Datasource в процессе работы приложения ??

Всем доброго времени суток ! У меня вопрос в следующем, мне нужно чтобы DBGrid мог отображать разные таблицы по нажатию скажем кнопочки
Kamelli_13 вне форума Ответить с цитированием
Старый 01.05.2009, 08:50   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Код:
DBGrid1.DataSource:=DataSource2;
?
vovk вне форума Ответить с цитированием
Старый 01.05.2009, 10:40   #3
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Можно изменить свойство datasource1.dataset, т.е. присвоить ему имя другой таблицы.

Код:
  datasource1.dataset := nil; // нилируем
  datasource1.dataset := table1; // установка связи с набором данных
.............
  datasource1.dataset := nil; // нилируем
  datasource1.dataset := table2; // установка связи с набором данных
...............
  datasource1.dataset := nil; // нилируем
  datasource1.dataset := table3; // установка связи с набором данных
При таком подходе, не нужно плодить лишние datasource, но при этом усложняется логика проги, так, что решайте сами.

Последний раз редактировалось Gorychev; 01.05.2009 в 10:45.
Gorychev вне форума Ответить с цитированием
Старый 01.05.2009, 10:48   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Gorychev, а можно сделать соединение двух таблиц? То есть как-то присвоить имена таблиц так, чтобы содержимое этих таблиц отображалось в одном гриде.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 01.05.2009, 10:54   #5
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Gorychev, а можно сделать соединение двух таблиц? То есть как-то присвоить имена таблиц так, чтобы содержимое этих таблиц отображалось в одном гриде.
С помощью компонентов которые используют SQL запросы можно
vovk вне форума Ответить с цитированием
Старый 01.05.2009, 12:03   #6
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Цитата:
Gorychev, а можно сделать соединение двух таблиц? То есть как-то присвоить имена таблиц так, чтобы содержимое этих таблиц отображалось в одном гриде.
Как сделать так, чтобы в одном гриде отображались данные из 2 таблиц сразу я не знаю (данные одной таблицы сразу под другой), ИМХО невозможно.

Можно составить SQL запрос который объединит данные хоть из 10 таблиц в одну таблицу, в которой может быть несколько полей из разных таблиц. Вот здесь почитать можно Использование в запросе нескольких источников записей

Последний раз редактировалось Gorychev; 01.05.2009 в 12:14.
Gorychev вне форума Ответить с цитированием
Старый 01.05.2009, 17:14   #7
Kamelli_13
 
Аватар для Kamelli_13
 
Регистрация: 01.05.2009
Сообщений: 7
По умолчанию

Огромное спасибо за совет )) нижайший поклон
Kamelli_13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как Microsoft Access(ADOConnection ADOTable DataSource DBGrid) переделать под mySQL? Levsha100 БД в Delphi 6 23.05.2009 19:48
Как осуществить возможность выбора БД в процессе работы программы Cabyrc БД в Delphi 9 21.03.2009 08:30
компонента 1-datasource 2-query 3-dbnavigator 4-dbgrid - как заставить работать? hinku БД в Delphi 5 07.10.2008 17:33
Можно ли подсчитать FPS в другом процессе? Minimus Win Api 7 26.08.2008 02:08
Блокировка функции в процессе ее работы Andr180nag JavaScript, Ajax 2 11.08.2008 18:07