Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / execute block - входящий параметр в Delphi и IBExpert / 16 сообщений из 16, страница 1 из 1
14.09.2011, 15:34
    #37440225
Евгений, Екатеринбург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
Здравствуйте! Подскажите пожалуйста по следующей проблеме:
Конструкция вида:
Код: 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
14.09.2011, 15:39
    #37440241
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
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
14.09.2011, 15:45
    #37440255
Евгений, Екатеринбург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
Мимопроходящий,
Спасибо!
Какие варианты кроме процедуры могут быть? Странно почему-то с выходными параметрами все нормально...
В FibPlus эта проблема решена?
...
Рейтинг: 0 / 0
14.09.2011, 15:47
    #37440258
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
Мимопроходящийбез ручной правки IBX работать не будет.

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

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

Это как? Не указывать тип, т.е. тип "Unknown" - тоже не работает.
...
Рейтинг: 0 / 0
14.09.2011, 16:02
    #37440291
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
Евгений, ЕкатеринбургЗдравствуйте! Подскажите пожалуйста по следующей проблеме:
Конструкция вида:
Код: 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
14.09.2011, 16:04
    #37440295
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
Т.е. execute block (wb_id integer = ? )
...
Рейтинг: 0 / 0
14.09.2011, 16:45
    #37440409
Евгений, Екатеринбург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
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
14.09.2011, 16:47
    #37440414
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
Евгений, ЕкатеринбургВыдает ошибку:
авторxsqlda index out of rangeНу так создай параметр, сам.
В конце-концов исходники IBX и остальной VCL доступны, в чём проблемы ?
...
Рейтинг: 0 / 0
14.09.2011, 17:26
    #37440500
Евгений, Екатеринбург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
hvladНу так создай параметр, сам.
В конце-концов исходники IBX и остальной VCL доступны, в чём проблемы ?
Спасибо! буду разбираться с IBX. Просто странно как-то, чем для компонента входные параметры хуже выходных.
И все-таки в FibPlus есть эта проблема или нет? Может стоит купить и не мучаться?
...
Рейтинг: 0 / 0
14.09.2011, 17:37
    #37440528
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
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
14.09.2011, 18:11
    #37440605
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
hvladВ конце-концов исходники IBX и остальной VCL доступны, в чём проблемы ?

Возможно в том, что их модификация запрещена лицензионным соглашением...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
14.09.2011, 18:19
    #37440615
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
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
14.09.2011, 18:44
    #37440647
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
Мимопроходящийэто с какой версии так?
Да вроде бы во всех стоит запрет на "модификацию любой части продукта без согласия
правообладателя"...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
14.09.2011, 18:52
    #37440655
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
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
14.09.2011, 18:52
    #37440656
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
execute block - входящий параметр в Delphi и IBExpert
Dimitry SibiryakovhvladВ конце-концов исходники IBX и остальной VCL доступны, в чём проблемы ?

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


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