Delphi 7 下读取Oracle中值为null的字段的处理

来源:互联网 发布:linux如何挂载网络磁盘 编辑:程序博客网 时间:2024/05/16 10:39

环境:Delphi 7 + Oracle 11g

Oracle中的字段值''就等同于null,这点和Sql Server不同,Sql Server中''(两个单引号的空字符)和null是两个值。

在Delphi 7中使用ADOQuery读取Oracle中的null字段时可用如下方式:

 

1、如果读取的字段是number数字型

aa := ADOQuery1.FieldByName('traincount').AsInteger;

注:当traincount字段的值为null时,使用AsInteger将返回0。

 

2、如果读取的字段是varchar2字符型

bb := ADOQuery1.FieldByName('trainid').AsString;

注:当trainid字段的值为null时,使用AsString将返回'',就是Delphi 7的bb变量的值将是''(空字符)。

 

 

3、如果使用ADOQuery1.FieldByName('trainid').Value 或者 ADOQuery1.FieldValues['traincount']方式引用字段值,那么在遇到字段值为null时,返回的值也将是null。如果非要使用上述方式引用,可增加null的判断。

if ADOQuery1.FieldByName('trainid').IsNull  then

      cc := ''

else

      cc := ADOQuery1.FieldByName('trainid').Value;

 

 

原创粉丝点击