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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2013, 11:08   #1
naty7773
Пользователь
 
Регистрация: 11.01.2012
Сообщений: 55
Печаль Приложение с запросами базы данных в Delphi

Создала базу данных,сделала генераторы и триггеры.Но преподаватель сказал,что у меня запросы не параметрические(((Помогите пожалуйста сделать параметрические запросы,забить их в базу данных и связать с Delphi!БД создается на диске Д в папке БД.Я не понимаю эти запросы((Завтра защита курсовой,а у меня никак не получается переделать правильно.((Папка со всей работай,весит много для форума ,поэтому ссылка http://files.mail.ru/81CE1F58FB4647B4AEF3AC6DD46DADBB ,там же и текстовый документ с запросами.
Вот задание
Крупная туристическая фирма, имеющая несколько филиалов в разных городах, предлагает информацию о имеющихся турах, наличии путевок, их стоимости. Туры бывают разные (отдых на море, курортный отдых, шоп-тур, круиз и т.п.). Каждая разновидность тура обладает своим набором характеристик. Так для курортного тура указываются заболевания, которые лечат в течение пребывания на курорте, отдых подразумевает проживание в гостиницах разного класса и т.д. Каждый тур может проходить по нескольким городам, принадлежащих разным странам (например, кругосветный круиз). В информации о туре приводятся сведения о наличии гостиниц в населенных пунктах, название, количество звездочек. Цена на конкретный тур и на конкретную дату определяется прайс-листами, периодически выпускаемыми турбюро. Для каждого тура также указывается вид транспорта, пункт отправления группы:
Необходимо реализовать следующие запросы:
- Полная информация о заданном туре;
- Список всех филиалов турфирмы;
- Прайс-лист на заданную дату, в котором указывается перечень всех имеющихся туров.
naty7773 вне форума Ответить с цитированием
Старый 29.12.2013, 11:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Какой злой и нехороший преподаватель )
Я не буду тебе ниче пределывать, но вот пример как надо сделать покажу.
Смотри. В Uni2 у тебя есть запрос:
Цитата:
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Text:= 'SELECT KOD_PRICE, CENA_PRICE, NAZVANIE_FIL, KOD_KYRORT, OTPRAVL_GOR, NAIM_TRANS,
ZABOLEVAN, DATA FROM FILIAL, KYRORT, PRICE, TRANSPORT, PYTEVKA
WHERE KOD_TRAN = KOD_TRAN AND KOD_FIL=KOD_FIL AND KOD_KYRORT=KOD_KYROTD
AND DATA='+chr(39)+'12.12.2012'+chr(39) ;
IBQuery1.open;
А теперь его параметризированный аналог:
Код:
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Text:= 'SELECT KOD_PRICE, CENA_PRICE, NAZVANIE_FIL, KOD_KYRORT, OTPRAVL_GOR, NAIM_TRANS, 
ZABOLEVAN, DATA FROM FILIAL, KYRORT, PRICE, TRANSPORT, PYTEVKA 
 WHERE KOD_TRAN = KOD_TRAN AND KOD_FIL=KOD_FIL AND KOD_KYRORT=KOD_KYROTD AND DATA=:pData';
IBQuery1.Parameters.ParamByName('pData').value:='12.12.1021';
IBQuery1.open;
И так остальные запросы. Там где есть условия можно подставлять их как параметры.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2013, 12:01   #3
naty7773
Пользователь
 
Регистрация: 11.01.2012
Сообщений: 55
По умолчанию

Спасибо вам большое!!!)
naty7773 вне форума Ответить с цитированием
Старый 29.12.2013, 12:16   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пожалуйста )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2013, 12:23   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
IBQuery1.Parameters.ParamByName('pD ata').value:='12.12.1021';
не учите плохому
eval вне форума Ответить с цитированием
Старый 29.12.2013, 13:53   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
не учите плохому
Всмысле? Что именно тут плохое?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2013, 16:25   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

типы . дату надо и давать датой
eval вне форума Ответить с цитированием
Старый 29.12.2013, 17:31   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
типы . дату надо и давать датой
Э-э-э... Вот ты куда )))
А ведь есть и случаи когда дата в БД спроектированна строкой )
Не ну я с тобой согласен в данном случае стоит что-то типа
Код:
IBQuery1.Parameters.ParamByName('pData').value:=EncodeDate(2012,12,12);
Но! Автор темы ничего не сказал о структуре базы и типах полей. Потому я с примером и не стал заморачиваться. А сам исходник смотрел бегло.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2013, 20:41   #9
naty7773
Пользователь
 
Регистрация: 11.01.2012
Сообщений: 55
По умолчанию

Вот такие у меня изначально были.и программа пока на таких запросах.Я переделала в параметрические в блокноте.Теперь надо переделать их и в самой БД в Делфи.А как это сделать,не знаю(((
1.

SELECT OTPRAVL_GOR, ZABOLEVAN, NAIM_TRANS, NAIM_GOR, NAZV_GOST
FROM KYRORT, TRANSPORT, GOROD, GOSTINICA
WHERE KOD_TRAN = KOD_TRAN AND
KOD_GOR = KOD_GOR AND
KOD_GOST = KOD_GOST

2.

SELECT KOD_FIL, NAZVANIE_FIL
FROM FILIAL

3.

SELECT KOD_PRICE, CENA_PRICE, NAZVANIE_FIL, KOD_KYRORT, OTPRAVL_GOR, NAIM_TRANS, ZABOLEVAN, DATA
FROM FILIAL, KYRORT, PRICE, TRANSPORT, PYTEVKA
WHERE KOD_TRAN = KOD_TRAN AND
KOD_FIL=KOD_FIL AND
KOD_KYRORT=KOD_KYROTD
AND
DATA='12.12.2012'
naty7773 вне форума Ответить с цитированием
Старый 29.12.2013, 21:08   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Мда....
Ну чтож. Вот и пришло время объяснить нам что ты подразумеваешь под словом "параметризация"
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базы данных. Клиент-серверное приложение. JeyKip C# (си шарп) 14 12.04.2016 16:23
Как сделать так чтобы приложение базы данных работала на компьютерах без установленной программы delphi? Даниил_глазко БД в Delphi 6 09.11.2010 16:26
В чём разница между запросами и программным обходом записей базы? Arkuz БД в Delphi 6 20.08.2009 16:19