Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как отобразить в гриде результат селекта ? / 17 сообщений из 17, страница 1 из 1
21.04.2004, 15:15
    #32489959
Mikolla
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
Вопрос чайника... Но не бейте сильно...
Есть такая ХП:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE PROCEDURE TEST (KODCL INTEGER)
RETURNS (A VARCHAR (200 ))
AS
declare variable CLI varchar (100 );
declare variable PAT varchar (100 );
begin
    for select CLIENT, PATH from KARTS_VAL where KOD = :KODCL
    into :CLI, :PAT
    do  a = CLI || PAT;
  suspend;
end


Результат - от 1 до n строк.
А теперь собственно сабж..
...
Рейтинг: 0 / 0
21.04.2004, 15:20
    #32489983
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
Если под словом "грид" подразумевается Дельфийский TDBGrid , то читай в хелпе про TIBQuery + TDataSource
...
Рейтинг: 0 / 0
21.04.2004, 17:46
    #32490484
Михаил К.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
Может я ошибаюсь но по-моему надо немного подправить процедуру,
иначе она будет возвращать только последнюю запись набора:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE PROCEDURE TEST (KODCL INTEGER)
RETURNS (A VARCHAR (200 ))
AS
declare variable CLI varchar (100 );
declare variable PAT varchar (100 );
begin
    for select CLIENT, PATH from KARTS_VAL where KOD = :KODCL
    into :CLI, :PAT
    do
    begin
       a = CLI || PAT;
       suspend;
    end
end


Поправте меня, если я не прав :-)
...
Рейтинг: 0 / 0
21.04.2004, 17:50
    #32490498
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
А зачем тогда процедура вооопче?
...
Рейтинг: 0 / 0
21.04.2004, 17:54
    #32490506
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
Михаил К.

нет, вы кажись не правы - эта штука - a = CLI || PAT; - строку собирает из результата селекта, зачем каждый раз суспендить ее недособранную
...
Рейтинг: 0 / 0
21.04.2004, 17:55
    #32490512
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
Федь, и так и так фигня получается. Присмотрись.
...
Рейтинг: 0 / 0
21.04.2004, 18:02
    #32490535
Михаил К.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
to fedd
a = CLI || PAT - соберет значения по 2-м полям только из последней записи,
а если нужно вернуть значение по каждой записи (а строка в оригинальном сабже "Результат - от 1 до n строк" позволила мне так подумать) , то необходимо суспендить каждое значение

А если необходимо сложить значения по всем записям в одно поле, то писать надо было:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE PROCEDURE TEST (KODCL INTEGER)
RETURNS (A VARCHAR (200 ))
AS
declare variable CLI varchar (100 );
declare variable PAT varchar (100 );
begin
    a = '';
    for select CLIENT, PATH from KARTS_VAL where KOD = :KODCL
    into :CLI, :PAT
    do  a = a || CLI || PAT;
  suspend;
end
...
Рейтинг: 0 / 0
21.04.2004, 18:04
    #32490542
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
да, недоглядел.... виноват

*** Ухожу с ПТ ***
...
Рейтинг: 0 / 0
22.04.2004, 05:59
    #32490949
Mikolla
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
to Fedd and Михайл К
Благодарю обоих за конструктивный диалог, из которого мне все стало ясно и понятно. Еще раз - спасибо...

to Мимопроходящий
Было бы очень неплохо, если бы Вам почаще удавалось оправдывать свой ник.. Потому как в форумы народ обращается совсем не за инфой типа «читайте юзермануал» (имхо)
...
Рейтинг: 0 / 0
22.04.2004, 08:07
    #32491004
FreemanZAV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
Потому как в форумы народ обращается совсем не за инфой типа «читайте юзермануал» (имхо) А если бы народ следовал этому совету, то в форумы меньше бы обращался и проблем меньше было-бы.
...
Рейтинг: 0 / 0
22.04.2004, 08:10
    #32491005
Voha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
>> Потому как в форумы народ обращается совсем не за инфой типа «читайте юзермануал» (имхо)
но не стакимеже,
но если не охото читать то можно воспользоваться поиском, и если не найдешь то тогда читать доку. :)
как говорил один мой препад (старенький дедушка): "В высшем образовании основная цель научиться пользоваться документацией и литературой"
...
Рейтинг: 0 / 0
22.04.2004, 09:09
    #32491066
Mikolla
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
>> А если бы народ следовал этому совету, то в форумы меньше бы обращался и проблем меньше было-бы.

Извини, конечно, что создал для тебя проблемы... :)
Ты наверное считаешь, что форумы существуют для обсуждения недокументированных возможностей ?
...
Рейтинг: 0 / 0
22.04.2004, 09:18
    #32491079
Mikolla
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
Да ладно вам, ребята ! ;)
Я же изначально предупредил - вопрос чайника...
Хочу вернуться к сабжу.. В IB Experte все работает, результат виден..
А вот в Дельфе рисуется пустой грид.. :(
Пробовал менять запрос в TIBQuery с
select * from test(:'+Edit1.Text+')
на простой, типа
select * from karts_val where KOD = '+#39+Edit1.Text+#39
все работает...
Подскажите, что не так ?
...
Рейтинг: 0 / 0
22.04.2004, 09:25
    #32491088
Voha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
Query -> DataSourse -> DBGrid
Query.open()
...
Рейтинг: 0 / 0
22.04.2004, 09:29
    #32491096
Voha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
Query.SQL приписываешь select * from test(:Param)

Query.ParamByName('Param').AsInteger := StrToInt(Edit1.Text);
Query.Open();
...
Рейтинг: 0 / 0
22.04.2004, 09:42
    #32491121
Mikolla
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
Yes !!
Voha !! Огромный тебе пасиб !!! Ты очень мне помог... ;)
...
Рейтинг: 0 / 0
22.04.2004, 09:55
    #32491144
Voha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить в гриде результат селекта ?
в примерах и доке это есть :)
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как отобразить в гриде результат селекта ? / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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