Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Web-публикация, WebModule 
:(
    Опции темы
sklip
Дата 17.6.2005, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 26.5.2005

Репутация: нет
Всего: нет



Значит цель:
Вывести из БД MS SQL данные используя SQL запросы средствами Delphi
Вывести данные нужно по выборки (уже научился smile (все кому надо - поняли))

Соединение делаю с помощью ADO.


На WebModule выкладываю: начальную страницу (TPageProducer) от неё идут ссылки
Код

<html>
<head>
<title>Web-приложение</title>
</head>
<body>
Выберете нужную группу и день<br>
ПП-119 <br><br>
<a href="./pp119all">Расписание на неделю</a><br> <br>
<a href="./pp1191">Понедельник</a><br>
<a href="./pp1192">Вторник</a><br>
<a href="./pp1193">Среда</a><br>
<a href="./pp1194">Четверг</a><br>
<a href="./pp1195">Пятница</a><br>
<a href="./pp1196">Суббота</a><br>
<br><br>
ПП-119 <br><br>
<a href="./pp129all">Расписание на неделю</a><br> <br>
<a href="./pp1291">Понедельник</a><br>
<a href="./pp1292">Вторник</a><br>
<a href="./pp1293">Среда</a><br>
<a href="./pp1294">Четверг</a><br>
<a href="./pp1295">Пятница</a><br>
<a href="./pp1296">Суббота</a><br>
</body>
</html>


ну и так далее для кажной группы. Это очень долго делать и exe файл занимает очень много места. Так как для каждой группы нужно делать по 6 лишних TDataSetTableProducer и TADOQuery

Все TDataSetTableProducer (6 для каждой группы входят в один TPageProducer)
Например для групы ПП-119 надо написать следующие в TPageProducer)
Код

<#monday>
<br>
<#tuesday>
<br>
<#wednesday>
<br>
<#Thursday>
<br>
<#Friday>
<br>
<#Saturday>

Прежде чем писать этот код (в TPageProducer) надо сделать процедуру (для TPageProducer)
Код

procedure TWebModule2.pp119allHTMLTag(Sender: TObject; Tag: TTag;
  const TagString: String; TagParams: TStrings; var ReplaceText: String);
begin
 if TagString='monday' then
  ReplaceText := pp1191.Content;
 if TagString='tuesday' then
  ReplaceText := pp1192.Content;
 if TagString='wednesday' then
  ReplaceText := pp1193.Content;
 if TagString='Thursday' then
  ReplaceText := pp1194.Content;
 if TagString='Friday' then
  ReplaceText := pp1195.Content;
 if TagString='Saturday' then
  ReplaceText := pp1196.Content;
end;

ТЕПЕРЬ вопрос: возможно ли написать сюда SQL запрос, что бы избежать ОГРОМНОГО количества компонентов в DataModul`e и в WebModule

SQL запрос и соответственно ADOQuery делаю для каждой группы на каждый день (для одной группы получается 7 ADOQuery smile ) А изменяется в них только немного кода.
Код

SELECT     day.day, Groups.Number, Otdel.Nazvanie, Pars.Nazvanie AS Expr1, Predmets.Nazvanie AS Expr2, Raspisanie.Nachalo_deistvia, 
                      Teachers.F_name
FROM         day INNER JOIN
                      Pars ON [day].id_day = Pars.id_day INNER JOIN
                      Raspisanie ON Pars.id_par = Raspisanie.id_par AND Pars.id_par = Raspisanie.id_par INNER JOIN
                      Otdel ON Raspisanie.id_otdel = Otdel.id_otdel AND Raspisanie.id_otdel = Otdel.id_otdel INNER JOIN
                      Groups ON Raspisanie.id_group = Groups.id_group AND Raspisanie.id_group = Groups.id_group INNER JOIN
                      Predmets ON Raspisanie.id_predmet = Predmets.id_predmet AND Raspisanie.id_predmet = Predmets.id_predmet INNER JOIN
                      Teachers ON Raspisanie.id_teacher = Teachers.id_teacher AND Raspisanie.id_teacher = Teachers.id_teacher
WHERE     (day.day = 'Понедельник') AND (Groups.Number = 'ПП-129')

Изменять надо только WHERE

Это сообщение отредактировал(а) sklip - 17.6.2005, 22:05
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0389 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.