Конференция "Базы" » Правильно - 0 или Null ? [D6, FireBird]
 
  • Igor_34 (03.03.08 13:46) [0]
    Есть хранимые процедуры вставки и изменения , если парметры равны " " или 0 , делал так ->

    IBStoredProc1.ParamByName('Par1').AsInteger := 0l;
    IBStoredProc1.ParamByName('Par2').AsString := ''l;
    IBStoredProc1.ParamByName('Par3').AsString  := ''l;

    может быть правильно делать так ->

    IBStoredProc1.ParamByName('Par1').AsValue := Null;
    IBStoredProc1.ParamByName('Par2').AsValue := Null;
    IBStoredProc1.ParamByName('Par3').AsValue  := Null;

    Всем спасибо .
  • Правильный_Вася (03.03.08 14:02) [1]
    0 <> null
    '' <> null
    что тебе нужно, то и передавай

    IBStoredProc1.ParamByName('Par3').Clear лучше присваивания null
  • pastor © (04.03.08 10:09) [2]
    Вставку и изменение желательно делать через TIBDataSet.
  • Johnmen © (04.03.08 10:17) [3]

    > pastor ©   (04.03.08 10:09) [2]
    > Вставку и изменение желательно делать через TIBDataSet.

    Почему?
  • DrPass © (04.03.08 10:18) [4]
    Букв меньше писать
  • PEAKTOP © (04.03.08 10:52) [5]
    > IBStoredProc1.ParamByName('Par3').Clear лучше присваивания null

    Отож. А лучше еще при создании процедуры указывать значения по-умолчанию...


    CREATE OR ALTER PROCEDURE MY_PROC(
     MY_PARAM1 D_INT DEFAULT = 0
    ,MY_PARAM1 D_STR DEFAULT = ''
    .............

  • ANB (04.03.08 13:53) [6]

    > значения по-умолчанию

    Поможет только в случае, если при вызове хранимки эти параметры вообще не указаны.
 
Конференция "Базы" » Правильно - 0 или Null ? [D6, FireBird]
Есть новые Нет новых   [134431   +14][b:0][p:0.001]