哦,就是我用delphi想读写sql server里面的一幅图.

解决方案 »

  1.   

    不能用sql语句 读取和写入一张图用TblobField可以。
      

  2.   

    写入:
    str:='insert into temppic values(:pic)';
    with Adoquery1 do
    begin
     close;
    sql.clear;
    sql.text:=str;
    parameters[0].loadfromfile('c:\a.jpg',ftGraphic);
    ExecSql;
    end;读出:
    jpegStream:=TmemoryStream.create; //创建内存流。用于存放图片
    try
    with Adotable1 do
    begin
     open;
     first;
     if (fieldbyname('pic1') as Tblobfield).asstring='' then
      exit
     else
      begin          //如果有图片
       (fieldbyname('pic1') as TblobField).savetoStream(jpegStream);
       //把图片存入内存流中
       jpegStream.position:=0;//不知道为什么。反正就是这样写的
       image1.picture.Graphic:=nil;
       image1.picture.graphic:=TjpegImage.create;
       image1.picture.Graphic.loadfromStream(jpegStream);
      end;
    finally
     jpegStream.free;
    end;