powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Помогите плиз нубу
24 сообщений из 24, страница 1 из 1
Помогите плиз нубу
    #35510855
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день товарищи кашевары
В общем проблема такая:
передаю по ссылке с одной цсп на другую значение ID.
на второй цсп у меня такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<csp:query name="vibor" classname="User.books" queryname="vibor" P1="">
<csp:while condition=vibor.Next()>
<tr>
<!-- <td>#(query.Get("ID"))# </td> -->
<td>#(vibor.Get("Autor"))# </td>
<td>#(vibor.Get("nazvanie"))# </td>
<td>#(vibor.Get("izdatelstvo"))# </td>
<td>#(vibor.Get("cena"))# </td>
</tr>
</csp:while>
</table>

Запрос в классе выглядит так:

Код: plaintext
1.
2.
3.
4.
5.
Query vibor(id As %Integer) As %SQLQuery(CONTAINID =  1 )
{
SELECT %ID,Autor,cena,izdatelstvo,nazvanie FROM books
 WHERE (%ID = :id)
}


Объясните мне плиз мои ошибки, и помогоите вывести результат запроса по переданному Id.
Заранее благодарю..
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35510871
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и забыл исчо..
в P1="" у меня стоит так P1='#(%request.Get("Id"))#'
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35510910
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LcFОбъясните мне плиз мои ошибки
Так ты же не написал какие они у тебя...

Например вот так напиши (как в документации)

Код: plaintext
<csp:while condition="vibor.Next()">
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511214
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно поподробней.
Бо нифига чего то у меня не выходит.Я немогу догнать как мне построить запрос в котором в секции Where будет сравниваться Id с переданным параметром, а после на основе этого запроса будут выводиться данные.
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511321
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример для "не классового запроса"

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<script language=SQL name=query P1='%session.Data("UserID")'>
SELECT DateOfPurchase,ItemName,Price
FROM MyApp.Purchases
WHERE UserID = ?
ORDER BY DateOfPurchase
</script>
<hr>
Items purchased by: <b>#(%session.Data("UserID"))#</b>
<br>
<table>
<tr><th>Date</th><th>Item</th><th>Price</th></tr>
<csp:while condition="query.Next()">
<tr>
<td>#(..EscapeHTML(query.GetData( 1 )))#</td>
<td>#(..EscapeHTML(query.GetData( 2 )))#</td>
<td>#(..EscapeHTML(query.GetData( 3 )))#</td>
</tr>
</csp:while>
</table>
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511369
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый krvsa.
Этот пример с туториала я просматривал и пробовал переделать, но ничего не вышло.
код такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<script language=SQL name=query2 P1='%session.Data("Id")'>
SELECT %ID,Autor,nazvanie,izdatelstvo,cena FROM books
WHERE %ID = ?
ORDER BY %ID
</script>
<hr>
Items purchased by: <b>#(%session.Data("Id"))#</b>
<br>
<table>
<tr><th>Id</th><th>Autor</th><th>nazvanie</th><th>izdatelstvo</th><th>cena</th></tr>
<csp:while condition="query2.Next()">
<tr>
<td>#(..EscapeHTML(query2.GetData( 1 )))#</td>
<td>#(..EscapeHTML(query2.GetData( 2 )))#</td>
<td>#(..EscapeHTML(query2.GetData( 3 )))#</td>
<td>#(..EscapeHTML(query2.GetData( 4 )))#</td>
<td>#(..EscapeHTML(query2.GetData( 5 )))#</td>
</tr>
</csp:while>
</table>

каша выдает такое

Error: <UNDEFINED>zOnPageBODY+25^csp.del.1
ErrorNo: 5002
CSP Page: /csp/user/del.csp
Namespace: USER
Class: csp.del
Routine: csp.del.1
Location: zOnPageBODY+25
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511386
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To LcF
Посмотрите пример в C:\YourCache\CSP\samples\cinema\ShowTimes.csp

Для Вашего случая можно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<script language="sql" name=vibor p1=#(%request.Get("Id"))#>
SELECT %ID,Autor,cena,izdatelstvo,nazvanie FROM User.books WHERE %ID = ?
</script>
<csp:while condition="vibor.Next()">
<tr>
<!-- <td>#(query.Get("ID"))# </td> -->
<td>#(vibor.Get("Autor"))# </td>
<td>#(vibor.Get("nazvanie"))# </td>
<td>#(vibor.Get("izdatelstvo"))# </td>
<td>#(vibor.Get("cena"))# </td>
</tr>
</csp:while>
</table>
или так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<csp:query name="vibor" classname="User.books" queryname="vibor" P1=#(%request.Get("Id"))#>
<csp:while condition=vibor.Next()>
<tr>
<!-- <td>#(query.Get("ID"))# </td> -->
<td>#(vibor.Get("Autor"))# </td>
<td>#(vibor.Get("nazvanie"))# </td>
<td>#(vibor.Get("izdatelstvo"))# </td>
<td>#(vibor.Get("cena"))# </td>
</tr>
</csp:while>
</table>
Соответственно вызывать эту страницу необходимо с параметром, например:
http://.../test.csp?Id=1
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511410
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем этот код отличается от моего первого?
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511416
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LcFError: <UNDEFINED>zOnPageBODY+25^csp.del.1
Что там в той стороке-то?
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511433
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробуй полностью указать имя таблицы .

Для класса User.book - это соотвественно SQLUser.book а не просто book
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511441
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
голая строка
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511446
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PtnПробуй полностью указать имя таблицы .

Для класса User.book - это соотвественно SQLUser.book а не просто book


пробовал
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511447
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сча выыще выводит голую страницу(т.е. даж ошибку непоказывает,просто голый лист)
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511470
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот например рабочий пример из семплсов...

Код: 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.
<!-- Copyright (c) 2001 InterSystems Inc. ALL RIGHTS RESERVED. -->
<csp:class description="Demo of using <B>SCRIPT LANGUAGE=SQL</B> tag to run an SQL Query.">

<html>

<head>
</head>

<body bgcolor="#CCCCFF">

<!-- display standard sample template using a custom tag -->
<isc:SAMPLE title='<script language="SQL"> Tag Sample'>
This sample uses the <b><script language="SQL"></b> tag to execute a dynamic SQL query
against the Caché Object Database. The results are displayed in a table
using the <b><csp:loop></b> tag to iterate over the resulting rows and columns.
<br>To execute a different query, enter it below and press <b>Go</b>.
</isc:SAMPLE>

<!--     Define a ResultSet based on a query
    In this case we are getting a query at run-time
    from user input.
-->
<script language="SQL" name="query" P1='#($get(%request.Data("P1",1),"A"))#'>
#($get(%request.Data("QUERY", 1 ),"SELECT Name FROM Sample.Person"))#
</script>

<!-- CREATE FORM FOR EDITING SQL QUERY -->

<form name="theForm">
<table cellspacing="5">
<tr>
    <td align="left"><b>SQL Query:</b>
    <br><textarea cols="80" name="QUERY" rows="4">#($get(%request.Data("QUERY", 1 ),"SELECT Name FROM Sample.Person"))#</textarea></td>
    <td><input name="btnSubmit" type="submit" value=" Go "></td>
</tr>
</table>
</form>

<hr>

<!-- CREATE A TABLE TO DISPLAY THE RESULTS -->

<table bgcolor="#DDDDFF" border="1">
<tr>

    <!-- LOOP OVER COLUMNS TO CREATE COLUMN HEADERS -->
    <csp:while condition="(col<query.GetColumnCount())" counter="col">
    <th align="left"><b>#(query.GetColumnName(col))#</b></th>
    </csp:while>
</tr>

<!-- NOW LOOP OVER ALL ROWS IN THE RESULT SET -->
<csp:while condition="query.Next()" counter="row">

<!-- USE ALTERNATING STYLES FOR ROW FOR ZEBRA EFFECT (# is modulo operator) -->
<tr class="#($S(row#2:"DarkRow",1:"LightRow"))#">

    <!-- LOOP OVER COLUMNS TO SHOW DATA -->
    <csp:while condition="(col<query.GetColumnCount())" counter="col">
    <td>#(query.GetData(col))#</td>
    </csp:while>
</tr>
</csp:while>
</table>

</body>
</html>
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511471
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно убрать лишнее... Добавить свое... Глядиш и заработает!
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511474
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To LcF
Наверное, ничем, кроме наличия кавычек в P1 и полного названия таблицы, ведь опубликована лишь часть
кода. Приведенный мной код у меня работает.

У Вас (для первого примера) просто не выводятся данные или возникает какая-то конкретная ошибка?
Если не выводятся данные, значит либо не передается входной параметр, либо его значение недействительно.
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511495
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возникает ошибка

такая же как и в том коде который ты мне дал.

Error: <UNDEFINED>zOnPageBODY+25^csp.del.1
ErrorNo: 5002
CSP Page: /csp/user/del.csp
Namespace: USER
Class: csp.del
Routine: csp.del.1
Location: zOnPageBODY+25

параметр передается

<script language="javascript">
ID=#(%request.Get("Id"))#;
alert(ID);
</script>

выводит Id который я передаю.
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511534
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда стоит опубликовать весь код страницы.
Либо сделать простой пример страницы, убрав все лишнее, что не относится к сути проблемы, и попробовать его запустить. Если ошибка останется, будем разбираться.
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35511567
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я и прислал почти полный код страницы(все кроме тегов HTML body и title)
всем спасибо за участие в теме. Я конечно непонял в чем прикол но я прописал так и все заработало
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<script language=SQL name="query">
SELECT *  FROM SQLUser.books where Id=#(%request.Get("Id"))#
</script><table border= 1  bgcolor="">

	<csp:while condition=query.Next()>
<tr>
<!-- <td>#(query.Get("ID"))# </td> -->
<td>#(query.Get("Autor"))# </td>
<td>#(query.Get("nazvanie"))# </td>
<td>#(query.Get("izdatelstvo"))# </td>
<td>#(query.Get("cena"))# </td>
</tr>
</csp:while>

</table>
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35512148
logist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык, Вы переменную передаете в %request, а считываете из %session

=Сергей Шутов (logist)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35512306
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to logist

первый пример который я предоставил был request, далее пробовал использовать session.
Может я и не прав, но вы невнимательно просматривали содержание топика
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35512327
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С параметром было бы так

Код: plaintext
1.
2.
<script language=SQL name="query" P1='#(%request.Get("Id"))#'>
   SELECT *  FROM SQLUser.books where Id=?
</script>

А ваш "прикол" в том, что данные после компиляции страницы будут выглядеть как "обычное" значение... Т.е. нечто такое

Код: plaintext
SELECT *  FROM SQLUser.books where Id= 10 
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35512372
logist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую.

> первый пример который я предоставил был request, далее пробовал
> использовать session.
> Может я и не прав, но вы невнимательно просматривали содержание топика

Форум мне приходит на почту, так что - что вижу, на то и отвечаю... Во всяком
случае, ошибки UNDEFINED у Вас связаны с использованием переменной %session. Что
у Вас не работало в первом примере, Вы так и не написали.

=Сергей Шутов (Logist)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите плиз нубу
    #35512379
logist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

> А ваш "прикол" в том, что данные после компиляции страницы будут
> выглядеть как "обычное" значение... Т.е. нечто такое
> SELECT * FROM SQLUser.books where Id=10
Не будут.

=Сергей Шутов (logist)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Помогите плиз нубу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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