powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
64 сообщений из 64, показаны все 3 страниц
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541204
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите новичку как вызвать хп под IB с использованием FREEIB как ей передать параментры и получить от нее значения
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541209
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from some_stored_proc(param1, param2)
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541215
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто такой FREEIB ?
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541226
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кажется, в вопросе спутались UDF и SP
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541229
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeit применяется, насколько я помню, для функций, а не для хранимых процедур
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541232
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходяий ->FreeIBComponent
wadman -> подробней пожалуйста у меня куча возвращаемых значений как мне их разместить в C++ в переменных для последующего использования
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541238
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие переменные? С select-ом умеем работать или нет?
Если нет, то к доктору.
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541244
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Main->FIBQuery->SQL->Text = "execute procedure SP_RECEIPTMOVES(NULL,1,0)";
Main->FIBTransaction->Active = true;
Main->FIBQuery->ExecQuery();

что добавить, процедура не отрабатывается
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541251
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а текст процедуры нельзя увидеть?
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541256
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeIBComponent - на свалку!
Оно свой век отжило и почило в бозе.
На основе FIBC были созданы 2 конкурирующие библиотеки:
InterBase eXpress (IBX) - входит в Delphi;

FIBPlus (FIB+) - приобретается отдельно.
Каждая из этих библиотек имеет свои достоинства и недостатки, разводить
флейм на тему что рулезнее не стОит. (А кто начнёт - тот какашка)
Но и та и другая билиотека, ушли очень далеко от своего родителя.
Начинать новый проект на основе мёртвой(и достаточно глючной) библиотеки - глупо.
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541258
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
ALTER PROCEDURE SP_RECEIPTMOVES (MAINDOC_REF INTEGER,
SHOW_REMNS SMALLINT,
TAX_PRICE SMALLINT)
RETURNS (RID INTEGER,
REC_TYPE SMALLINT,
REC_ORDER INTEGER,
GOODS_REF INTEGER,
GOODS_ABBR VARCHAR( 36 ) CHARACTER SET WIN1251,
GOODS_NAME VARCHAR( 50 ) CHARACTER SET WIN1251,
TAX_RATE INTEGER,
MUNITS_REF INTEGER,
MUNITS_NAME VARCHAR( 20 ) CHARACTER SET WIN1251,
QUANT DOUBLE PRECISION,
COST DOUBLE PRECISION,
SUM_COST DOUBLE PRECISION,
SUM_WOTAX DOUBLE PRECISION,
BCOST DOUBLE PRECISION,
BSUM_COST DOUBLE PRECISION,
BSUM_WOTAX DOUBLE PRECISION,
BTAX DOUBLE PRECISION,
BREMN_QUANT DOUBLE PRECISION,
BREMN_SUM_COST DOUBLE PRECISION,
BREMN_MUNITS_NAME VARCHAR( 20 ) CHARACTER SET WIN1251,
ACOST DOUBLE PRECISION,
ASUM DOUBLE PRECISION,
BCOST2 DOUBLE PRECISION,
BSUM2 DOUBLE PRECISION,
ASTR VARCHAR( 25 ) CHARACTER SET WIN1251)
AS 

  declare variable SYS_FLAG smallint;
  declare variable RATE_CFN double precision;
  declare variable L_SYS_FLAG smallint;
  declare variable BQUANT double precision;
  declare variable BMUNITS_REF integer;
  declare variable ACTIVE_FLAG smallint;
  declare variable DOC_TYPE smallint;
  declare variable PRID integer;
  declare variable CLOSE_DATE date;
  declare variable CLOSE_STAMP integer;
  declare variable DATE_STAMP integer;
  declare variable QUEUE_STAMP integer;
  declare variable DUMMY double precision;
  declare variable DIST_CFN double precision;
  declare variable DIST_EXPENSES double precision;
  declare variable SUM_BSUM_COST double precision;
  declare variable EXCL_TAX smallint;
begin
  if (MAINDOC_REF is null) then Exit;
  select SYS_FLAG,BASECURR_RATE/CURR_RATE,ACTIVE_FLAG,DOC_TYPE,DIST_EXPENSES
     from MainDocs3 where RID=:MAINDOC_REF
     into :SYS_FLAG,:RATE_CFN,:ACTIVE_FLAG,:DOC_TYPE,:DIST_EXPENSES;
  if (SYS_FLAG is null) then Exit;

  select SYS_FLAG from UserParams where USER_NAME = USER into :L_SYS_FLAG;
  if (L_SYS_FLAG is null) then L_SYS_FLAG =  0 ;
  if (L_SYS_FLAG !=  2  and L_SYS_FLAG != SYS_FLAG) then Exit;

  if (ACTIVE_FLAG !=  0  and SHOW_REMNS !=  0 ) then begin
     if (SYS_FLAG =  0 ) then select EXCL_TAX,CLOSED_PRD_0 from DatabaseParams into :EXCL_TAX,:CLOSE_DATE;
     else select EXCL_TAX,CLOSED_PRD_1 from DatabaseParams into :EXCL_TAX,:CLOSE_DATE;
     if (CLOSE_DATE is not null) then
        CLOSE_STAMP = ( ( CLOSE_DATE +  1  - cast('1 JAN 1970' as date) ) -  32768  ) *  65536 ;
     end
  else select EXCL_TAX from DatabaseParams into :EXCL_TAX;

  if( DIST_EXPENSES !=  0  ) then begin
     select sum(BSUM_COST) from Moves3 where MAINDOC_REF = :MAINDOC_REF into :SUM_BSUM_COST;
     if (SUM_BSUM_COST !=  0 ) then DIST_CFN =  1  - :DIST_EXPENSES / SUM_BSUM_COST;
     else DIST_CFN =  0 ;
     end

  for select t1.RID,t1.REC_TYPE,t1.REC_ORDER,t1.GOODS_REF,t2.ABBR,t2.NAME,t2.TAXRATES,
             t1.MUNITS_REF,t3.NAME,t2.MUNITS_REF,t1.BQUANT,t1.BSUM_COST,
             t1.QUEUE_STAMP,t1.DATE_STAMP,t1.ASUM_COST
      from Moves3 t1,Goods t2,MUnits t3
      where t1.MAINDOC_REF = :MAINDOC_REF and t1.GOODS_REF = t2.RID and
         t1.MUNITS_REF = t3.RID
      order by t1.REC_ORDER
      into :RID,:REC_TYPE,:REC_ORDER,:GOODS_REF,:GOODS_ABBR,:GOODS_NAME,:TAX_RATE,
           :MUNITS_REF,:MUNITS_NAME,:BMUNITS_REF,:BQUANT,:BSUM_COST,
           :QUEUE_STAMP,:DATE_STAMP,:ASUM
    do
      begin
      execute procedure sp_ConvertGoodsMUnits :GOODS_REF,:BMUNITS_REF,:BQUANT,
                         :MUNITS_REF returning_values :QUANT;
      if( DIST_EXPENSES !=  0  ) then
         BSUM_COST = BSUM_COST * DIST_CFN;

      BTAX = null;
      select TAX from SBDetail where MOVES_REF = :RID into :BTAX;
      if (EXCL_TAX !=  0 ) then begin
         BSUM_WOTAX = BSUM_COST;
         if (BTAX is not null) then BSUM_COST = BSUM_COST + BTAX;
         else BSUM_COST = BSUM_COST * (  1  + TAX_RATE /  10000  );
         end
      else begin
         if (BTAX is not null) then BSUM_WOTAX = BSUM_COST - BTAX;
         else BSUM_WOTAX = BSUM_COST - BSUM_COST * TAX_RATE / ( 10000  + TAX_RATE);
         end

      SUM_COST  = BSUM_COST / RATE_CFN;
      SUM_WOTAX = BSUM_WOTAX / RATE_CFN;
      if (QUANT !=  0 ) then begin
         if (TAX_PRICE !=  0 ) then  BCOST = BSUM_COST / QUANT;
         else BCOST = BSUM_WOTAX / QUANT;
         COST   = BCOST / RATE_CFN;
         ACOST  = ASUM / QUANT;
         end
      else begin
         if (BSUM_COST =  0 ) then BCOST =  0 ; else BCOST   = null;
         if (SUM_COST =  0 ) then COST =  0 ; else COST   = null;
         if (ASUM =  0 ) then ACOST =  0 ; else ACOST   = null;
         end

      if (ACTIVE_FLAG !=  0  and SHOW_REMNS !=  0 ) then begin
         DATE_STAMP = DATE_STAMP +  1 ;
         if (SHOW_REMNS !=  2 ) then
            execute procedure sp_GetQueueRemns :QUEUE_STAMP,:DATE_STAMP,:CLOSE_STAMP
               returning_values :BREMN_QUANT,:BREMN_SUM_COST,:DUMMY;
         else begin
            execute procedure sp_GetQueueRemnsQ :QUEUE_STAMP,:DATE_STAMP,:CLOSE_STAMP
               returning_values :BREMN_QUANT;
            BREMN_SUM_COST = null;
            end
         select NAME from MUnits where RID = :BMUNITS_REF into :BREMN_MUNITS_NAME;
         end

      BSUM2 = null;
      select BSUM from ReceiptSumsEx where MOVE_REF = :RID into :BSUM2;
      if (BSUM2 is null) then
         BCOST2 = null;
      else
         BCOST2 = BSUM2 / QUANT;

      ASTR = null;
      select ASTR from AStrList where RID = :RID into :ASTR;
      suspend;
      end
end
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541280
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, fedd уже поправил.
Лучше б грохнул нафик. Там важен только SUSPEND в конце.
Его и хотелось узреть.
А раз он тама есть, то вызывать нужно (при "многострочном" результате)
как
Код: plaintext
SELECT * FROM SP_RECEIPTMOVES(NULL, 1 , 0 );
А не как EXECUTE PROCEDURE.
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541287
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а StoredProc не пробовал использовать?
а отладить саму процедуру пробовал?
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541289
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как разместить в переменных в С++ то что выбрал select и передать на исполнение следущей процедуре ?
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541296
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 alex777
используй StoredProc, там задашь выходные параметры и передашь типа такого:
Код: plaintext
Result:=ParamByName('E_NREC').Value;
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541297
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
саму процедуру нельзя отлаживать я не являюсь разработчиком этой базы, но надо дописать к ней кое что чтобы расширить ее возможности
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541298
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть так
Код: plaintext
Result:=StoredProc.ParamByName('E_NREC').Value;
дельфовый код...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541300
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дописать к базе или клиенту?
и вообще отлаживать, не значит менять, просто проверить работоспособность...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541304
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нового клиента написать который будет делать определенные действия
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541312
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дорогой VF!
Во первых строках своего письма спешу соощить, что мы тут все живы здоровы, близорукостью не страдаем. Чего и вам желаем. Ибо тот факт, что ты никак не хочешь зметить конструкцию
Код: plaintext
1.
2.
3.
4.
for select ... do
  begin
 ...........
  suspend;
  end
заставляет нас обеспокоиться о твоём драгоценном здоровье. А паче всего о зрении, кое речено классиком буде, есть врата в душу человеческую.

(шутю я так)
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541322
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так и используй StoredProc, что мешает, ну или считывай позаписно из набора данных в Query...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541323
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий не выходить по твоему процедура не отрабатывается.
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541331
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как ты определил, что она не отрабатывается?
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541333
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Мимопроходящий
ну так пусть встаёт на нужную запись и оттуда берёт что надо, а пример с переменной я просто в качестве примера привёл, я не говорю "делай ТАК и только ТАК!!!"...
-------------
ля-ля-ля-ля-ля... а я сошла с ума! какая досада... (с)домомучительница
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541342
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INSERT INTO LOG (WHEN_EXECUTED,PROC) VALUES ('NOW','SP_RECEIPTMOVES');
INSERT INTO T_SP_RECEIPTTMOVES (MAIN_DOC_REF,SHOW_REMNS,TAX_PRICE) VALUES (:maindoc_ref,:show_remns,:tax_price);

в таблицах пусто !
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541354
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разбирайся.
Анализировать твой код никто не будет.
К слову: после INSERT'a COMMIT делаешь, или как?
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541359
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я знаю что коммит всегда помогает русской демократии -:)
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541363
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а это к чему???
чот я не вижу таких таблиц в процедуре, откедава они???
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541369
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нарисовал чоб ручками проконтролировать этого оболтуса -:)
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541376
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это размышления у зеркала?
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541379
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий ходи уже мимо -))))
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541391
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 alex777
не понял, кого проконтролировать?
процедуру?
так там нет таких таблиц, или у меня и правда что-то со зрением...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541398
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где нет таких таблиц ?
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541401
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в процедуре нет таких таблиц, в которые инсерт делаешь...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541412
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблиц нет а инсерт делается -



Есть такие таблицы, сам сделал для отладки, ты лучше толком подскажи как возвращаемые значения получить, никто таки не ответил
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541419
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из возвращаемого в Query набора данных что ли?
если да, то только завтра, домой пора...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541420
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, из возвращаемых процедурой значений
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541427
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Одессе говорят так:
Код: plaintext
1.
2.
Уважаемый, пойдите на Привоз.
Купите там петуха.
И eбитe ему мозги, сколько вам будет угодно...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541428
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дак они у Тебя куда возвращаются, в набор данных в Query, вот оттуда и бери...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541432
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий знаешь этот адрес: http://lleo.aha.ru/na/index.shtml
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541437
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куда в query возвращаются и как взять на самом деле не знаю
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541438
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Query.RecordCount - номер записи
Query.FieldCount - номер столбца
Query.FieldName - имя столбца
вот вставай и выбирай что надо...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541440
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
справку можно почитать, я так это делал в первый раз... справку читал
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541443
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык не записи возвращаются а переменные из хранимой процедуры или пофиг
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541448
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2VF: забей. Это клинический случай.
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541897
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 alex777
в Query возвращается результирующий набор данных, то есть записи...
вот и работай с ними...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541899
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Мимопроходящий
дай немножко почуствовать себя вумным
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541906
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин может случай действительно клинический но при попытке обратиться к query получаю exception: Empy Qeury хотя процедура отработалась
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541915
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парни я еще раз повторяю мне нужны не записи выбранные в результате ХП, а returning values (возвращаемые значения) из хранимой процедуры
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541917
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если кому интересно моя АСЯ: 227061328
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541929
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Случай точно клиничесикй чо вы мне лепите Field->RecordCount , FIBQuery->Fields[0]->AsVariant;, и т.д. и т.п. еще раз в ХП есть преременные (Variables) после выполнения процедуры они принимают определенные значения (Values) дык вот как эти Валуесы и Вариаблесов достать, мне не надо записи

Знаете или нет ?
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541942
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй вместо ExecQuery метод Open, иногда помогает.
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32541954
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во всремя исполнения всеравно Qeury Empy a Open = false явно в true не устанавливается как быть
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32542014
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Open, это не свойство, это метод, его вызывать надо.
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32542103
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нифига не получается
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32542149
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 alex777
Код: plaintext
Query.Open;
вместо
Код: plaintext
Query.ExecSQL;
у Тебя вернётся набор данных, т.е. записей, вот тогда и работай со строками и полями...
а то что у Тебя вернётся НАБОР данных это есть непреложный факт, потому как конструкция
Код: plaintext
1.
2.
3.
4.
for select ... do
begin
...
suspend
end
вернёт НЕ ОДНУ запись, а НАБОР записей, а переменные это всего лишь место, где будет храниться ТЕКУЩЕЕ (при выполнении процедуры) значение поля...
понимаешь? FOR это цикл, возвращает по одной записи... в конце получаешь результирующий НАБОР данных (записей)...
если надо взять значение выходного параметра процедуры, то используй StoredProc , но учти, что там будут ПОСЛЕДНИЕ значения, то есть значения ПОСЛЕДНЕЙ записи в наборе данных...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32542256
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А куда вся эта гадость возвращается процедура отрабатывается, затем возвращает один едиственный int откуда его взять ?
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32542308
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StoredProc это член какого класса
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32542440
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
RETURNS (RID INTEGER,
REC_TYPE SMALLINT,
REC_ORDER INTEGER,
GOODS_REF INTEGER,
GOODS_ABBR VARCHAR( 36 ) CHARACTER SET WIN1251,
GOODS_NAME VARCHAR( 50 ) CHARACTER SET WIN1251,
TAX_RATE INTEGER,
MUNITS_REF INTEGER,
MUNITS_NAME VARCHAR( 20 ) CHARACTER SET WIN1251,
QUANT DOUBLE PRECISION,
COST DOUBLE PRECISION,
SUM_COST DOUBLE PRECISION,
SUM_WOTAX DOUBLE PRECISION,
BCOST DOUBLE PRECISION,
BSUM_COST DOUBLE PRECISION,
BSUM_WOTAX DOUBLE PRECISION,
BTAX DOUBLE PRECISION,
BREMN_QUANT DOUBLE PRECISION,
BREMN_SUM_COST DOUBLE PRECISION,
BREMN_MUNITS_NAME VARCHAR( 20 ) CHARACTER SET WIN1251,
ACOST DOUBLE PRECISION,
ASUM DOUBLE PRECISION,
BCOST2 DOUBLE PRECISION,
BSUM2 DOUBLE PRECISION,
ASTR VARCHAR( 25 ) CHARACTER SET WIN1251

вот что возвращает процедура, поэтому вопрос, какой INT Тебе надо???
StoredProc есть и в BDE (TStoredProc) и в IBX (TIBStoredProc)...
только ведь ещё раз повторю:
ПРОЦЕДУРА ВОЗВРАЩАЕТ НАБОР ДАННЫХ!!!
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32542505
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все парни хорош ругатся разобрался


FIBQuery->SQL->Text = "execute procedure SP_RECEIPTMOVES(NULL,1,0)";
FIBTransaction->Active = true;
FIBQuery->ExecQuery();
int i = Main->FIBQuery->FieldIndex["NVX_FLAG"];
AnsiString a = Main->FIBQuery->Fields ->Name;
j=Main->FIBQuery->Fields->AsInteger;

Это так отладочный код т.е. я его просматривал в режиме отладки но кому надо разберется
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32542728
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и получишь последнее значение из всей выборки...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32542779
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оно-же будет первым, т.к. выше написано, что оно одно (значение) :) В данном случае это выход, но не всегда так будет.
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32542961
Фотография VF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так если не всегда, тогда и вставай сразу на нужную запись, а оттуда бери значение нужного столбца...
а если всегда, то зачем for select...
...
Рейтинг: 0 / 0
как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
    #32545030
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приведенном случае мне надо только одно значение а массив я вывожу в дбгрид точнее в два дбгрида первый это группы которые содержат элементы, при обработке клика в гриде с группами происходит что-то вроде
if(FIBTransaction1->Active)FIBTransaction1->Active = false;
AnsiString b = Main->FIBDataSet->Fields->Fields[1]->AsString;
skladvibor->FIBDataSet1->SelectSQL->Clear();
AnsiString s ="select * from SP_SUPPLIERBASE(0," + b +")";
skladvibor->FIBDataSet1->SelectSQL->Add(s);
skladvibor->FIBTransaction1->Active = true;
skladvibor->FIBDataSet1->Active = true;

для второго грида соответственно есть новая датасет и новая транзакция и еще одна датасорце а при выборе во втором гриде элемента и нажатии кн. ОК происходит
AnsiString b = FIBDataSet1->Fields->Fields[3]->AsString;
if(addnakl->Caption == "????? ??????????")
addnakl->postavshik->Text = b;
if(addnakl->Caption == "????? ??????")
addnakl->sklad->Text = b;
if(addnakl->Caption == "????? ?????????????? ????")
addnakl->otv->Text = b;
if(FIBTransaction1->Active)FIBTransaction1->Active = false;
skladvibor->Close();
addnakl->Show();

если есть мысли как сделать лучше сделайте тук-тук в асю
:)
...
Рейтинг: 0 / 0
64 сообщений из 64, показаны все 3 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как вызвать хп под IB с использованием FreeIBComponent как ей передать параментры (Было: Подскажите новичку)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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