powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / БД и веб
25 сообщений из 55, страница 1 из 3
БД и веб
    #34754850
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, подскажите, пожалуйста, одну вещь.
Поставленная задача: выбранные select ' ом данные отобразить в виде таблицы на веб-странице.
Делаю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
<script language="SQL" cursor="query">
select
        'ARR' as stat,
        aar.appn_row_id,
        far.flt,
        aar.tys,
        aar.reg,
        aar.sta as plan_time,
        aar.eta as estimated_time,
        aar.tdt as actual_time,
        aar.ata as in_out_parking,
        aar.tal,
        aar.tas,
        aar.tar
     from ops$aodb.aircraft_arrivals aar
       inner join ops$aodb.flight_arrivals far
       on far.aid = aar.appn_row_id
     
   union
   
     select 
        'DEP' as stat,
        adep.appn_row_id,
        fdep.flt,
        adep.tys,
        adep.reg,
        adep.std as plan_time,
        adep.etd as estimated_time,
        adep.abt as actual_time,
        adep.atd as in_out_parking,
        adep.tal,
        adep.tas,
        adep.tar
     from ops$aodb.aircraft_departures adep
       inner join ops$aodb.flight_departures fdep
       on fdep.aid = adep.appn_row_id
</script>

... организация формы, создание шапки таблицы...

<csp:if condition=$get(%request.Data("count", 1 ))'="">
	   <!-- LOOP AND FETCH COUNT ROWS -->
	   <csp:while cursor="query" into="stat,appn_row_id,flt,tys,reg,plan_time,estimated_time,actual_time,in_out_parking,tal,tas,tar" counter="row" condition='row<$get(%request.Data("count", 1 ))'> 
       
        <!-- USE ALTERNATING STYLES FOR ROW FOR ZEBRA EFFECT (# is modulo operator) -->
	    <tr class="#($S(row#2:"DarkRow",1:"LightRow"))#">
		  <td height="0.3%">#(stat)#</td>
		  <td height="0.3%">#(appn_row_id)#</td>
		  <td height="0.3%">#(flt)#</td>
		  <td height="0.3%">#(tys)#</td>
		  <td height="0.3%">#(reg)#</td>
		  <td height="0.3%">#(plan_time)#</td>
		  <td height="0.3%">#(estimated_time)#</td>
		  <td height="0.3%">#(actual_time)#</td>
		  <td height="0.3%">#(in_out_parking)#</td>
		  <td height="0.3%">#(tal)#</td>
		  <td height="0.3%">#(tas)#</td>
		  <td height="0.3%">#(tar)#</td>
	    </tr>
	  </csp:while>
    <csp:else>
	  <!-- LOOP AND FETCH ALL ROWS -->
	  <csp:while cursor="query" into="stat,appn_row_id,flt,tys,reg,plan_time,estimated_time,actual_time,in_out_parking,tal,tas,tar" counter="row">

	  <!-- USE ALTERNATING STYLES FOR ROW FOR ZEBRA EFFECT (# is modulo operator) -->
	   <tr class="#($S(row#2:"DarkRow",1:"LightRow"))#">
		 <td height="0.3%">#(stat)#</td>
		  <td height="0.3%">#(appn_row_id)#</td>
		  <td height="0.3%">#(flt)#</td>
		  <td height="0.3%">#(tys)#</td>
		  <td height="0.3%">#(reg)#</td>
		  <td height="0.3%">#(plan_time)#</td>
		  <td height="0.3%">#(estimated_time)#</td>
		  <td height="0.3%">#(actual_time)#</td>
		  <td height="0.3%">#(in_out_parking)#</td>
		  <td height="0.3%">#(tal)#</td>
		  <td height="0.3%">#(tas)#</td>
		  <td height="0.3%">#(tar)#</td>
	   </tr>
	 </csp:while>
</csp:if>

При компиляции пишет ошибку:

Компиляция программы csp.altgmrms.main.1
csp.altgmrms.main.1.INT(390) ERROR #1027: Error in SET command : 'stat=%query0d(40),appn_row_id=%query0d(41),flt=%query0d(42),tys=%query0d(43),reg=%query0d(44),plan_time=%query0d(45),estimated_time=%query0d(46),actual_time=%query0d(47),in_out_parking=%query0d(48),tal=%query0d(49),tas=%query0d(50),tar=%query0d(51)' : Offset:25 [%0Eo+1^csp.altgmrms.main.1]
TEXT: s stat=%query0d(40),appn_row_id=%query0d(41),flt=%query0d(42),tys=%query0d(43),reg=%query0d(44),plan_time=%query0d(45),estimated_time=%query0d(46),actual_time=%query0d(47),in_out_parking=%query0d(48),tal=%query0d(49),tas=%query0d(50),tar=%query0d(51)
csp.altgmrms.main.1.INT(393) ERROR #1027: Error in SET command : 'stat=%query0d(40),appn_row_id=%query0d(41),flt=%query0d(42),tys=%query0d(43),reg=%query0d(44),plan_time=%query0d(45),estimated_time=%query0d(46),actual_time=%query0d(47),in_out_parking=%query0d(48),tal=%query0d(49),tas=%query0d(50),tar=%query0d(51)' : Offset:25 [%0Go+1^csp.altgmrms.main.1]
TEXT: s stat=%query0d(40),appn_row_id=%query0d(41),flt=%query0d(42),tys=%query0d(43),reg=%query0d(44),plan_time=%query0d(45),estimated_time=%query0d(46),actual_time=%query0d(47),in_out_parking=%query0d(48),tal=%query0d(49),tas=%query0d(50),tar=%query0d(51)
Обнаружено 2 ошибок во время компиляции.
ОШИБКА #5475: Ошибка компиляции программы: csp.altgmrms.main.1. Ошибок: csp.altgmrms.main.1.INT(393) ERROR #1027: Error in SET command : 'stat=%query0d(40),appn_row_id=%query0d(41),flt=%query0d(42),tys=%query0d(43),reg=%query0d(44),plan_time=%query0d(45),estimated_time=%query0d(46),actual_time=%query0d(47),in_out_parking=%query0d(48),tal=%query0d(49),tas=%query0d(50),tar=%query0d(51)' : Offset:25 [%0Go+1^csp.altgmrms.main.1]
ОШИБКА #6084: Обнаружены неизвестные ошибки, но не передан код ошибки

Подскажите, в чем может быть ошибка!

Заранее спасибо!
...
Рейтинг: 0 / 0
БД и веб
    #34755838
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все это создаю на основе шаблона staticsql.csp, который находится в папке Samples... Почему шаблон работает, а моя страничка на его основе нет???
...
Рейтинг: 0 / 0
БД и веб
    #34755899
Александр Коблов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы в
Код: plaintext
1.
<csp:while cursor="query" into="stat,appn_row_id,flt,tys,reg,plan_time,estimated_time,actual_time,in_out_parking,tal,tas,tar" counter="row" condition='row<$get(%request.Data("count",1))'> 
пишете выбирать в переменные, и в том числе plan_time и другие. А в переменных COS не может быть подчёркивания
...
Рейтинг: 0 / 0
БД и веб
    #34755946
LenRover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А пробовали запрос запустить в Портале управления (ну или SQL-менеджере ) ?
Запрос отрабатывает верно?
...
Рейтинг: 0 / 0
БД и веб
    #34755961
LenRover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А чем вообще отличается вывод данных по выполнению условия if от того что в else ?
у меня такое ощущение, что ничем...
...
Рейтинг: 0 / 0
БД и веб
    #34755973
Александр Коблов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LenRover
А чем вообще отличается вывод данных по выполнению условия if от того что в else ?
у меня такое ощущение, что ничем...

Ну как ничем, в первом случае выводится максимум %request.Data("count",1) строк
...
Рейтинг: 0 / 0
БД и веб
    #34755978
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LenRoverА пробовали запрос запустить в Портале управления (ну или SQL-менеджере ) ?
Запрос отрабатывает верно?
Верно

Александр КобловВы в
Код: plaintext
1.
<csp:while cursor="query" into="stat,appn_row_id,flt,tys,reg,plan_time,estimated_time,actual_time,in_out_parking,tal,tas,tar" counter="row" condition='row<$get(%request.Data("count",1))'> 
пишете выбирать в переменные, и в том числе plan_time и другие. А в переменных COS не может быть подчёркивания
Вы правы. Спасибо, теперь все работает. Однако возникает еще 3 вопроса:
1) Как сделать, чтобы ячейки рисовались, даже если они пусты
2) сделать перенос данных по страницам (например, по 25 на странице)
3) Табличка должна быть полосатая...а полоски не рисуются...От чего это зависит?
...
Рейтинг: 0 / 0
БД и веб
    #34756022
Александр Коблов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Вместо пустых строк пишите &ampnbsp;
2) Самый простой вариант -- передавать на страницу 2 параметра -- номер страницы и количество строк на странице. Например, 5 страница, 25 строк -- показываете строки со 100 по 125 и т.п.
3) Вы вот этой
Код: plaintext
<tr class="#($S(row#2:"DarkRow",1:"LightRow"))#">
строчкой определяете, что все нечётные строки будут иметь класс DarkRow, а чётные LightRow. Эти классы нужно описать в head.
Например,
Код: plaintext
1.
2.
3.
4.
<STYLE type='text/css'>
	.DarkRow { background: #DDDDDD; }
	.LightRow { background: #FFFFFF; }
</STYLE>
...
Рейтинг: 0 / 0
БД и веб
    #34756034
Александр Коблов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Не &ampnbsp ,а & nbsp; (между & и nbsp; пробела нет)
...
Рейтинг: 0 / 0
БД и веб
    #34756827
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное за помошь!!!!
...
Рейтинг: 0 / 0
БД и веб
    #34757151
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, столкнулась с такой проблемой:
1) не получается упорядочить по полям. Пишу после селекта order by 3 (чтобы отсортировать по полю flt). ничего не выходит
2) если требуется написать несколько запросов, можно это делать в одном <script language="sql" cursor="query"> или на каждый запрос нужен свой тег?
...
Рейтинг: 0 / 0
БД и веб
    #34757178
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страно что у вас не "работает" сортировка... Вероятно она работает, но не так как вы ожидаете

На "отдельный" селект нужно делать отдельный запрос.
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
БД и веб
    #34757227
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaСтрано что у вас не "работает" сортировка... Вероятно она работает, но не так как вы ожидаете

хм... странно... Проверила запрос через Портал управления системой и не только не происходит сортировки, но и не показывается статус "ARR" или "DEP" ...я в недоумении

krvsaНа "отдельный" селект нужно делать отдельный запрос.

Что вы под этим подразумеваете?
...
Рейтинг: 0 / 0
БД и веб
    #34757284
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Причем все сортируется, когда запрос состоит из одного селекта (т.е. без юнион). Пыталась сделать select * from (select...) - вообще пишет ошибку. Cache не поддерживает вложенные селекты???
...
Рейтинг: 0 / 0
БД и веб
    #34757453
Александр Коблов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoniaПыталась сделать select * from (select...) - вообще пишет ошибку.
Нужно писать так select * from (select...) Alias, т.е. для вложенного select задавать псевдоним
...
Рейтинг: 0 / 0
БД и веб
    #34757484
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
select * from
(select distinct
       'ARR' as stat,
        aar.appn_row_id,
        far.flt,
        aar.tys,
        aar.reg,
        aar.sta as plan_time,
        aar.eta as estimated_time,
        aar.tdt as actual_time,
        aar.ata as in_out_parking,
        aar.tal,
        aar.tas,
        aar.tar
     from ops$aodb.aircraft_arrivals aar,
        ops$aodb.flight_arrivals far
       where far.aid = aar.appn_row_id
     union
       select distinct
        'DEP' as stat,
        adep.appn_row_id,
        fdep.flt,
        adep.tys,
        adep.reg,
        adep.std as plan_time,
        adep.etd as estimated_time,
        adep.abt as actual_time,
        adep.atd as in_out_parking,
        adep.tal,
        adep.tas,
        adep.tar
     from ops$aodb.aircraft_departures adep,
      ops$aodb.flight_departures fdep
       where fdep.aid = adep.appn_row_id
) tab
результат: ОШИБКА #5821: Невозможно создать запрос: 'SQLCODE = -400'
...
Рейтинг: 0 / 0
БД и веб
    #34757535
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sonia krvsaНа "отдельный" селект нужно делать отдельный запрос.

Что вы под этим подразумеваете?
Что-то типа
Код: plaintext
select ... From ...
Т.е. без конструкций типа
Код: plaintext
1.
2.
select ... From ... 
union
select ... From ... 
...
Рейтинг: 0 / 0
БД и веб
    #34757540
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия Кащея какая?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
БД и веб
    #34757606
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaВерсия Кащея какая?


Cache for Windows (Intel) 5.2.1 (Build 507) Fri Jul 21 2006 15:06:53 EDT
...
Рейтинг: 0 / 0
БД и веб
    #34757629
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaТ.е. без конструкций типа
Код: plaintext
1.
2.
select ... From ... 
union
select ... From ... 

А мне надо именно через юнион. То есть после того как выберутся все данные их и надо сортировать.
...
Рейтинг: 0 / 0
БД и веб
    #34757717
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А пораздельности сортируются?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
БД и веб
    #34757738
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaА пораздельности сортируются?

Нет, по "собранному" полю flt

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
select distinct
       'ARR' as stat,
        aar.appn_row_id,
        far.flt as flt,
        aar.tys,
        aar.reg,
        aar.sta as plan_time,
        aar.eta as estimated_time,
        aar.tdt as actual_time,
        aar.ata as in_out_parking,
        aar.tal,
        aar.tas,
        aar.tar
     from ops$aodb.aircraft_arrivals aar,
        ops$aodb.flight_arrivals far
       where far.aid = aar.appn_row_id
      
     union
       select distinct
        'DEP' as stat,
        adep.appn_row_id,
        fdep.flt as flt,
        adep.tys,
        adep.reg,
        adep.std as plan_time,
        adep.etd as estimated_time,
        adep.abt as actual_time,
        adep.atd as in_out_parking,
        adep.tal,
        adep.tas,
        adep.tar
     from ops$aodb.aircraft_departures adep,
      ops$aodb.flight_departures fdep
       where fdep.aid = adep.appn_row_id
       order by flt
...
Рейтинг: 0 / 0
БД и веб
    #34757793
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я чего не понял... :(

Вот это будет сортироваться?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select distinct
       'ARR' as stat,
        aar.appn_row_id,
        far.flt as flt,
        aar.tys,
        aar.reg,
        aar.sta as plan_time,
        aar.eta as estimated_time,
        aar.tdt as actual_time,
        aar.ata as in_out_parking,
        aar.tal,
        aar.tas,
        aar.tar
     from ops$aodb.aircraft_arrivals aar,
        ops$aodb.flight_arrivals far
       where far.aid = aar.appn_row_id
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
БД и веб
    #34757812
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сортироваться должны уже все выбранные строки, то есть после юнион
...
Рейтинг: 0 / 0
БД и веб
    #34757874
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То что нужно вам в итоге мне понятно :) Но для решения проблемы ее иногда стоит расчленить. Потому и спрашиваю:
- По раздельности селекты сортируются?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 1 из 3
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / БД и веб
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]