Конференция "Основная" » Компоненты DevExpress
 
  • авыф (20.11.07 18:05) [0]
    Может кто знает:
       Sql := 'begin' + #13#10 +
              '  :res := pcg_ls.set_dol_subabn_   ( :idkng, :nmabn, :nnsubabn, :dtdate, :kfdol, :idusr);' + #13#10 +
              'end;' ;
       while not memDol.Eof do
       begin
         fSession.ExecSQLEx(Sql1, [
                                  'idkng',     fSubabn.ID_KNG,
                                  'nmabn',     fSubabn.NM_ABN,
                                  'nnsubabn',  memDol.FieldByName('NN_SUBABN').AsInteger,
                                  'dtdate',    deDate.Date,
                                  'kfDol',     StrToInt( Trim( memDol.FieldByName('DOL').AsString ) ),
                                  'idusr',     fId_Usr
                                 ]);    //}
         finally
           memDol.Next;
         end;
    Процедура pcg_ls.set_dol_subabn_ - рабочая, проверял.
    Данный блок может выполниться нормально, а может, что бывает намного чаще, вывалить AV и открывается окно CPU.
    fSession: TOraSession;
    memDol: TdxMemData;
    в memDol вводятся значения вручную. Может тут что не так?
  • авыф (20.11.07 18:09) [1]
    finally - эт лишнее
  • 13333 (20.11.07 18:16) [2]

    >   Sql := 'begin' + #13#10 +
    >           '  :res := pcg_ls.set_dol_subabn_   ( :idkng,
    > :nmabn, :nnsubabn, :dtdate, :kfdol, :idusr);' + #13#10 +
    >           'end;' ;
    >    while not memDol.Eof do
    >    begin
    >      fSession.ExecSQLEx(Sql1, [
    >                               'idkng',     fSubabn.ID_KNG,
    >
    >                               'nmabn',     fSubabn.NM_ABN,
    >
    >                               'nnsubabn',  memDol.FieldByName('NN_SUBABN').
    > AsInteger,
    >                               'dtdate',    deDate.Date,
    >                               'kfDol',     StrToInt( Trim(
    > memDol.FieldByName('DOL').AsString ) ),
    >                               'idusr',     fId_Usr
    >                              ]);    //}
    >      finally
    >        memDol.Next;
    >      end;


    Может иза этог?
  • авыф (20.11.07 18:22) [3]
    прошу прощения - sql1 - это опечатка, в коде все правильно
  • авыф (20.11.07 18:36) [4]
    если же вместо выполнения процедуры выполняю запросы типа select, insert, delete, вместе выполняющие те же действия, то все работает.
 
Конференция "Основная" » Компоненты DevExpress
Есть новые Нет новых   [134479   +12][b:0][p:0]