function sss(sRemostName:string):string;
var 
sName:string;
begin
  if (DMUser.DQTemp.Active)  DMUser.DQTemp.Close();
  DMUser.DQTemp.SQL.Clear();
  DMUser.DQTemp.SQL.Add("select * from  Stu_Remost where RemohostName =:RemohostName");
  DMUser.DQTemp.Parameters.ParamByName("RemohostName").Value:= sRemostName;
  DMUser.DQTemp.Open();
  sName := DMUser.DQTemp.FieldByName("computer").Value;
  DMUser.DQTemp.SQL.Clear();
  DMUser.DQTemp.Close();
  result:=sName;
end;这张表是空表(或者没有一条数据是remohostname的值为sRemostName)
查找后系统提示Could not convert variant of type(NULL) Into Type(String)我的问题是:如何提示返回的是空值或没有记录?

解决方案 »

  1.   

    DMUser.DQTemp.Open();在这句的后面加上判断是否那个字段值为空不这按照你的办法
    否则的话 提示信息为空 然后退出函数再有就是你的字段还有语句怎么都是双引号呢
      

  2.   

    DMUser.DQTemp.First;
    if (DMUser.DQTemp.EOF) then ShowMessage('这是一张空表');
      

  3.   

    if DMUser.DQTemp.FieldByName("computer").isnull then
    begin
    ....
    end;
      

  4.   

    你进行一个判断
    if not DMUser.DQTemp.FieldBYName('Computer').isnull then
      sName := DMUser.DQTemp.FieldByName('Computer).asstring;