powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / execute block - входящий параметр в Delphi и IBExpert
16 сообщений из 16, страница 1 из 1
execute block - входящий параметр в Delphi и IBExpert
    #37440225
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! Подскажите пожалуйста по следующей проблеме:
Конструкция вида:
Код: plaintext
1.
2.
3.
4.
5.
execute block (wb_id integer=:wb_id)
returns (object_id integer,  object_f_name varchar ( 255 ),
   ...
    )
as
....
В IBE работает замечательно, а вот в Delphi выдает ошибку на входящий параметр (при Params Check=true - "Param name expected" , а при false - "Token unknown - line 1, column 30 :."
Использую IBDataSet, пробовал и в IBQuery - задавать параметр wb_id, тоже самое. Можно конечно, все это в виде процедуры оформить, но хочется именно запросом - как это можно сделать?. Сервер Firebird 2.5.
Заранее спасибо!
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440241
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, <Евгений>, Екатеринбург!
You wrote on Wednesday, September 14, 2011 3:38:58 PM:

<Евгений>, ЕкатеринбургВ IBE работает замечательно, а вот в
Delphi выдает ошибкубез ручной правки IBX работать не будет.

--
With best regards, Мимопроходящий.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440255
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,
Спасибо!
Какие варианты кроме процедуры могут быть? Странно почему-то с выходными параметрами все нормально...
В FibPlus эта проблема решена?
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440258
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийбез ручной правки IBX работать не будет.

Может и будет... Аффтар, попробуй ParamCheck = false и параметры сделать
нативно-неименованными.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440284
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovМимопроходящийбез ручной правки IBX работать не будет.

Может и будет... Аффтар, попробуй ParamCheck = false и параметры сделать
нативно-неименованными.

Это как? Не указывать тип, т.е. тип "Unknown" - тоже не работает.
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440291
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, ЕкатеринбургЗдравствуйте! Подскажите пожалуйста по следующей проблеме:
Конструкция вида:
Код: plaintext
1.
2.
3.
4.
5.
execute block (wb_id integer=:wb_id)
returns (object_id integer,  object_f_name varchar ( 255 ),
   ...
    )
as
....
В IBE работает замечательно, а вот в Delphi выдает ошибку на входящий параметр (при Params Check=true - "Param name expected" , а при false - "Token unknown - line 1, column 30 :."
а) ParamsCheck := false

б)
Код: plaintext
1.
2.
3.
4.
5.
execute block (wb_id integer ?)
returns (object_id integer,  object_f_name varchar ( 255 ),
   ...
    )
as
....
в) Params[0].AsInteger := ...
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440295
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. execute block (wb_id integer = ? )
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440409
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТ.е. execute block (wb_id integer = ? )
Выдает ошибку:
авторxsqlda index out of range
Придется видимо сделать через процедуру...
Полный код запроса:
Код: 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.
execute block (wb_id integer= :wb_id)
returns (object_id integer,  object_f_name varchar ( 255 ),
    branche_number integer,  branche_f_name varchar ( 255 ),
    building_number integer, building_f_name varchar ( 255 ),
    album_number integer, album_f_name varchar ( 255 ),
    issued_id integer, issued_number integer,
    iss_quantity integer, iss_exem integer,
    iss_code integer,
    albtype_f_name varchar ( 50 ), albtype_s_name varchar ( 10 ), albstady_f_name varchar ( 50 ), albstady_s_name varchar ( 10 )
    )
as
declare variable i integer;
    begin
        for select
            t5.object_id, t5.object_f_name,
            t4.branche_number, t4.branche_f_name,
            t3.building_number, t3.building_f_name,
            t2.album_number, t2.album_f_name,
            t1.issued_id, t1.issued_number, t6.iiw_quantity,
            cast('201'||cast(t1.issued_id as varchar ( 10 )) as integer),
            t7.albtype_f_name, t7.albtype_s_name, t8.albstady_f_name, t8.albstady_s_name

        from rissued t1
            inner join ralbum t2 on (t2.album_id=t1.album_id)
            inner join rbuilding t3 on (t3.building_id=t2.building_id)
            inner join rbranche t4 on (t4.branche_id=t3.branche_id)
            inner join robject t5 on (t5.object_id=t4.object_id)
            inner join rissuedinwaybill t6 on (t6.issued_id=t1.issued_id)
            inner join ralbtype t7 on (t7.albtype_id=t2.albtype_id)
            inner join ralbstady t8 on (t8.albstady_id=t2.albstady_id)
        where t6.wb_id=:wb_id
        order by  1 ,  3 ,  5 ,  8 
        into:
            object_id, object_f_name,
            branche_number, branche_f_name,
            building_number, building_f_name,
            album_number, album_f_name,
            issued_id, issued_number, iss_quantity,
            iss_code,
            albtype_f_name, albtype_s_name, albstady_f_name, albstady_s_name
        do
            begin
             i= 1 ;
             while (i<:iss_quantity+ 1 )
                do
                    begin
                        iss_exem=i;
                        suspend;
                        i=i+ 1 ;
                     end
            end
   end
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440414
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, ЕкатеринбургВыдает ошибку:
авторxsqlda index out of rangeНу так создай параметр, сам.
В конце-концов исходники IBX и остальной VCL доступны, в чём проблемы ?
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440500
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНу так создай параметр, сам.
В конце-концов исходники IBX и остальной VCL доступны, в чём проблемы ?
Спасибо! буду разбираться с IBX. Просто странно как-то, чем для компонента входные параметры хуже выходных.
И все-таки в FibPlus есть эта проблема или нет? Может стоит купить и не мучаться?
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440528
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, <Евгений>, Екатеринбург!
You wrote on Wednesday, September 14, 2011 5:36:34 PM:

<Евгений>, ЕкатеринбургИ все-таки в FibPlus есть эта проблема
или нет?нет
<Евгений>, ЕкатеринбургМожет стоит купить и не
мучаться?купи

--
With best regards, Мимопроходящий.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440605
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВ конце-концов исходники IBX и остальной VCL доступны, в чём проблемы ?

Возможно в том, что их модификация запрещена лицензионным соглашением...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440615
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on Wednesday, September 14, 2011 6:18:37 PM:

Dimitry SibiryakovВозможно в том, что их модификация запрещена
лицензионным соглашением...это с какой версии так?

--
With best regards, Мимопроходящий.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440647
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийэто с какой версии так?
Да вроде бы во всех стоит запрет на "модификацию любой части продукта без согласия
правообладателя"...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440655
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on Wednesday, September 14, 2011 6:50:40 PM:

Dimitry Sibiryakov> Да вроде бы во всех стоит запрет на
"модификацию любой части продукта без согласия правообладателя"...
у меня написано другое.

The contents of this file are subject to
the InterBase Public License Version 1.0


--
With best regards, Мимопроходящий.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
execute block - входящий параметр в Delphi и IBExpert
    #37440656
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladВ конце-концов исходники IBX и остальной VCL доступны, в чём проблемы ?

Возможно в том, что их модификация запрещена лицензионным соглашением... Давай не будем в маразм впадать
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / execute block - входящий параметр в Delphi и IBExpert
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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