让query返回一个记录数,判断是否有记录。
if query.recordcount <> 0 then
begin
  first;
  label1.Caption:=query1.fieldbyname('name').AsString;
end;还有,master.dbo.sysdevices表名这样写可以吗?

解决方案 »

  1.   

    这一语句是查询数据库中的对象名的,
    当然有返回值,
    且也具有NAME字duan ,
    因此我想你的QUERY要加上所有字段名就可以了。
      

  2.   

    select * from master.dbo.sysdevices这样没问题阿~
      

  3.   

        query1.close;
        query1.SQL.Text:='select * from master..sysdevices';
        query1.Open;
        if query.recordcount > 0 then
          label1.Caption:=query1.fieldbyname('name').AsString;我也碰到过该类问题,结果是把Name的大小写改一改,后来就没有问题了;
      

  4.   

    此段代码我用于程序备份数据库,以前一直没有问题,但今天在windows 2000 professional edition 时有上面的问题。
      

  5.   

    判断一个数据集是否为空最好用if not dataset.IsEmpty then ...,因为调用dataset.RecordCount效率很低,尤其在这个数据集有大量记录时。