Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / БД и веб / 25 сообщений из 55, страница 1 из 3
27.08.2007, 14:27
    #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
27.08.2007, 17:26
    #34755838
Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
Все это создаю на основе шаблона staticsql.csp, который находится в папке Samples... Почему шаблон работает, а моя страничка на его основе нет???
...
Рейтинг: 0 / 0
27.08.2007, 17:38
    #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
27.08.2007, 17:51
    #34755946
LenRover
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
А пробовали запрос запустить в Портале управления (ну или SQL-менеджере ) ?
Запрос отрабатывает верно?
...
Рейтинг: 0 / 0
27.08.2007, 17:55
    #34755961
LenRover
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
А чем вообще отличается вывод данных по выполнению условия if от того что в else ?
у меня такое ощущение, что ничем...
...
Рейтинг: 0 / 0
27.08.2007, 17:59
    #34755973
Александр Коблов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
LenRover
А чем вообще отличается вывод данных по выполнению условия if от того что в else ?
у меня такое ощущение, что ничем...

Ну как ничем, в первом случае выводится максимум %request.Data("count",1) строк
...
Рейтинг: 0 / 0
27.08.2007, 18:02
    #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
27.08.2007, 18:14
    #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
27.08.2007, 18:18
    #34756034
Александр Коблов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
1) Не &ampnbsp ,а & nbsp; (между & и nbsp; пробела нет)
...
Рейтинг: 0 / 0
28.08.2007, 09:16
    #34756827
Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
Спасибо огромное за помошь!!!!
...
Рейтинг: 0 / 0
28.08.2007, 11:04
    #34757151
Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
Кстати, столкнулась с такой проблемой:
1) не получается упорядочить по полям. Пишу после селекта order by 3 (чтобы отсортировать по полю flt). ничего не выходит
2) если требуется написать несколько запросов, можно это делать в одном <script language="sql" cursor="query"> или на каждый запрос нужен свой тег?
...
Рейтинг: 0 / 0
28.08.2007, 11:10
    #34757178
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
Страно что у вас не "работает" сортировка... Вероятно она работает, но не так как вы ожидаете

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

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

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

Что вы под этим подразумеваете?
...
Рейтинг: 0 / 0
28.08.2007, 11:31
    #34757284
Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
Причем все сортируется, когда запрос состоит из одного селекта (т.е. без юнион). Пыталась сделать select * from (select...) - вообще пишет ошибку. Cache не поддерживает вложенные селекты???
...
Рейтинг: 0 / 0
28.08.2007, 12:05
    #34757453
Александр Коблов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
SoniaПыталась сделать select * from (select...) - вообще пишет ошибку.
Нужно писать так select * from (select...) Alias, т.е. для вложенного select задавать псевдоним
...
Рейтинг: 0 / 0
28.08.2007, 12:09
    #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
28.08.2007, 12:18
    #34757535
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
Sonia krvsaНа "отдельный" селект нужно делать отдельный запрос.

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


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

А мне надо именно через юнион. То есть после того как выберутся все данные их и надо сортировать.
...
Рейтинг: 0 / 0
28.08.2007, 12:46
    #34757717
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
А пораздельности сортируются?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
28.08.2007, 12:49
    #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
28.08.2007, 12:57
    #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
28.08.2007, 13:00
    #34757812
Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
Сортироваться должны уже все выбранные строки, то есть после юнион
...
Рейтинг: 0 / 0
28.08.2007, 13:10
    #34757874
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД и веб
То что нужно вам в итоге мне понятно :) Но для решения проблемы ее иногда стоит расчленить. Потому и спрашиваю:
- По раздельности селекты сортируются?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / БД и веб / 25 сообщений из 55, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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