Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Процедура не возвращает записей, а поля содержат значения. Как такое возможно?  [new]
Титов Артем
Member

Откуда: МО
Сообщений: 297
Есть процедура на сервере, самая обычная:

  PROCEDURE PRC_GET_CONFIG_DATA(IN_CFG_ID IN NUMBER,
                                RESULT    OUT SYS_REFCURSOR) AS
  BEGIN
    OPEN RESULT FOR
      SELECT ACT.ID,
.............
             ACT.Document_Control_FLAG,
.............
             ACT.MESSAGE_EXCHANGE_FLAG,
.............
        FROM AVSDOK_CONFIG_TBL ACT
       WHERE ACT.ID = IN_CFG_ID;
  END PRC_GET_CONFIG_DATA;



И на клиенте в Delphi:

with TOraStoredProc.Create(nil) do
  try
    FetchAll:=True;
    Options.AutoClose:=True;
    AutoCommit:=False;
    StoredProcName := ПРОЦЕДУРА;
    PrepareSQL;
// При таком значении IN_CFG_ID точно возвращает 0 записей, значить во всех полях должно содержаться NULL
    ParamByName('IN_CFG_ID').Value := -1; 
    ExecProc;
     ..............
    showmessage(inttostr(FieldByName('DOCUMENT_CONTROL_FLAG').AsInteger)); // здесь 0, хотя ошибка должна быть
    showmessage(inttostr(FieldByName('MESSAGE_EXCHANGE_FLAG').AsInteger)); // здесь также
     ..............
  finally
    Free;
  end;


Подскажите плз, откуда в полях берутся значения ??
25 дек 11, 14:13    [11822051]     Ответить | Цитировать Сообщить модератору
 Re: Процедура не возвращает записей, а поля содержат значения. Как такое возможно?  [new]
Титов Артем
Member

Откуда: МО
Сообщений: 297
Титов Артем,

Разобрался. AsInteger в случае Null значения присваивает ему 0
25 дек 11, 14:30    [11822076]     Ответить | Цитировать Сообщить модератору
 Re: Процедура не возвращает записей, а поля содержат значения. Как такое возможно?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54376
Титов Артем
Титов Артем,

Разобрался. AsInteger в случае Null значения присваивает ему 0
дядя толя рулит
25 дек 11, 15:19    [11822153]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить