Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > OleVariant is null


Автор: Prehistorik 20.9.2006, 13:25
Код

var
  cmd: TAdoCommand;
  str: WideString;
  rs: _Recordset;
begin
  //... Инициализация.
  cmd.CommandText := 'select MY_TEXT from MY_TABLE where MY_ID = 1';
  rs := cmd.Execute;
  str := rs.Fields[0].Value;    //<--- Косячок-с


Если в базе записан нул, то выкидывается эксепшн конвертации. Как проверить rs.Fields[0].Value  Нул или не нул?!

Автор: Alexeis 20.9.2006, 13:32
Цитата(Prehistorik @  20.9.2006,  13:25 Найти цитируемый пост)
Как проверить rs.Fields[0].Value  Нул или не нул?!

Носколько я помною nil соответствует значение ноль в памяти.

Автор: Elfebet 20.9.2006, 13:35
if (rs.Fields[0].Value=nil) then ....
или
if (not assigned(rs.Fields[0].Value)) then ...
ну накрайня мона так
try
 str := rs.Fields[0].Value;
except
// если ошибка, то что-то делаем
end;

Автор: ShadeSt 20.9.2006, 14:00
Assigned() вроде как для проверки указателей на nil, точнее не <> nil
а для OleVariant:
Код

Unassigned
VarIsEmpty()
Null
VarIsNull()

если я ничего не путаю.

Автор: Bose 20.9.2006, 14:17
Prehistorik, 
rs.Fields[0].IsNull

 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)