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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2013, 21:33   #1
Tiger_351
Пользователь
 
Регистрация: 02.11.2010
Сообщений: 10
Восклицание SQL+Делфи

Уважаемые форумчане!
Возможно, эта тема уже повторялась, поэтому заранее прошу прощения.
Проблема вот в чем: есть 2 таблицы, связь по id_god:

года
id_goda | god
---------------
1 | 2000
2 | 2001

люди
id_ludi | id_god | imya
-----------------------
1 | 1 | Олег
2 | 1 | Антон
3 | 2 | Иван

Как правильно написать запрос на выборку, при событии в делфи OnCellClik на первом дбгриде во второй выводились все данные по определенному году!
Заранее спасибо!
Tiger_351 вне форума Ответить с цитированием
Старый 09.04.2013, 14:32   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
Dataset2.Close;
1 вар.
Код:
DataSet2.SQL.text:='select .... from люди'
 + 'left join года on года.ид_года = люди.ид_год'
 + 'where god=:god';
DataSet2.params.Parambyname('god').value:=DataSet1.Fieldbyname('год').value;
а параметр можно задать и так, т.е. сейчас вам по сути первая таблица и не нужна.
Код:
DataSet2.params.Parambyname('god').value:='2000';
DataSet2.params.Parambyname('god').value:=EditGod.Text;
2 вар. с жесткой привязкой по первой
Код:
DataSet2.SQL.text:='select  from люди'
  'where ид_год = :idg';
DataSet2.params.Parambyname('idg').value:=DataSet1.Fieldbyname('ид_года').value;
Код:
DataSet2.Open;
Dataset1, Dataset2 два набора данных связанные с вашими таблицами (DBGrid)
все их свойства названы "приблизительно" точное имя зависит от используемого наследника DataSet.(ADO..., IB..., FB..., ....)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 09.04.2013, 15:05   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

А вот зачем вот та первая таблица где года?
eval вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где прописывать SQL запросы в делфи ? Pbl6a БД в Delphi 5 27.03.2011 13:59
БД в делфи + SQL Рамик Помощь студентам 3 10.11.2010 07:38
ms sql server 2005 и Делфи StartMis Общие вопросы Delphi 10 11.08.2010 21:06
Помогите создать базу SQL на Делфи photozaz БД в Delphi 3 01.11.2008 20:30
Проблема с sql в делфи spiteful41 Помощь студентам 4 27.05.2008 01:23