powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как отобразить в гриде результат селекта ?
17 сообщений из 17, страница 1 из 1
Как отобразить в гриде результат селекта ?
    #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
Как отобразить в гриде результат селекта ?
    #32489983
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если под словом "грид" подразумевается Дельфийский TDBGrid , то читай в хелпе про TIBQuery + TDataSource
...
Рейтинг: 0 / 0
Как отобразить в гриде результат селекта ?
    #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
Как отобразить в гриде результат селекта ?
    #32490498
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем тогда процедура вооопче?
...
Рейтинг: 0 / 0
Как отобразить в гриде результат селекта ?
    #32490506
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил К.

нет, вы кажись не правы - эта штука - a = CLI || PAT; - строку собирает из результата селекта, зачем каждый раз суспендить ее недособранную
...
Рейтинг: 0 / 0
Как отобразить в гриде результат селекта ?
    #32490512
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Федь, и так и так фигня получается. Присмотрись.
...
Рейтинг: 0 / 0
Как отобразить в гриде результат селекта ?
    #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
Как отобразить в гриде результат селекта ?
    #32490542
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, недоглядел.... виноват

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

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

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

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


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