高手们好::问题是这样select t_image from image_lob where t_id = '10'(这是adoquer的sql语句)TBlobField(adoquery1.FieldByName('t_image')).SaveToStream(MS);(这是button的click事件中的一句话,怀就坏在这句话上!!)当我把十改成7的时候 运行报错  field 't_image' not found!!
不改没事!!说明 button -- 显示图片的按钮谢谢大家给我指条明路吧!!!

解决方案 »

  1.   

    没有t_id = '7'的记录吧,可以在button的click中加个条件判断防止报错
    if adoquery1.recordcount > 0 then
      TBlobField(adoquery1.FieldByName('t_image')).SaveToStream(MS);
      

  2.   

    回 jchen00(假老练) :把‘7’再改为‘10’还是报错 
    回   hahafan(注意!此人前途迷茫) :有 表中一共有十条记录
      

  3.   

    还是把你的语句贴出来吧我想可能是你在什么地方改变了AdoQuery1的内容所至与有没有记录没有关系
      

  4.   

    ok 语句来了
    procedure TForm1.Button1Click(Sender: TObject);
     var
       AGif:TGIFImage;
      AJpeg: TJpegImage;
      MS: TMemoryStream;
      //ABmp:TImage
    begin
        MS := TMemoryStream.Create;
        AGif :=TGIFImage.Create;
        AJpeg :=TJpegImage.Create;
         //ABmp:=TImage.Create;
          TBlobField(adoquery1.FieldByName('t_image')).SaveToStream(MS);
          MS.Position:=0;//只有将其复位才能显示出来
        try
          AGif.LoadFromStream(MS);
          Image1.Picture.Bitmap.Assign(AGif);
           MS.Free;
           AGif.Free;
      except
          try
          AJpeg.LoadFromStream(MS);
          Image1.Picture.Bitmap.Assign(AJpeg);
           MS.Free;
           AJpeg.Free;      except
          showmessage('it is wrong!!');
          end;      end ;
    end;
      

  5.   

    那怎么open啊?
    小弟很菜啊!!!
      

  6.   

    在Button1Click之前你有没有执行select这部阿?
      

  7.   

    if not adoquery1.active then 
      adoquery1.open;
      

  8.   

    hahafan(注意!此人前途迷茫):我给你发了短消息 有时间看一下
    谢谢了 !!