数据库中如何保存和显示bmp及jpg文件?要求同时可用。用paradox数据库。用mdb数据库的话又怎么样呢?

解决方案 »

  1.   

    以前做过一次,是用SQL Server的,不知道paradox数据库,mdb数据库能不能用.并且我这种方法比较麻烦,要安装一个ActiveX控件(RichTextBox控件).如果真的需要的话,给我留言.
      

  2.   

    FT,忘记写邮件地址了!
    [email protected]
      

  3.   

    将该图片分解为文件流(TFileStream),以长二进制的形式保存到数据库中,字段类型为OLE。这样可以保存任何类型的文件。读取的时候将该二进制读到流中,再存到一个临时文件里,用Image控件显示。我只用mdb试过!1、存入(bmp是例子, 随便什么文件都可以)
    imagestream:=tfilestream.create('c:\image.bmp',fmShareDenyNone);
    Sqlstring:='insert into  table values(:imagefile)';
            query1.SQL.Clear;
            query1.SQL.Add(SqlClause);
            query1.Parameters.ParamByName('imagefile').LoadFromStream(imagestream,ftblob);
            query1.ExecSQL;2、读取
    SqlString:='select * from yourtable';
           try
            query1.SQL.Clear;
            query1.SQL.Add(SqlClause);
            query1.open;
            filename:='c:\temp.bmp'
    (query1.fieldbyname('imagefile') as TBlobField).savetofile(filename);
              imagestream:=TFileStream.Create(filename,fmShareDenyNone);
           image1.picture.loasfrmfile(Filename); 
          finally
            query1.Free;
          end;
      

  4.   

    对不起,打错了。读取的那句是
    image1.picture.loadfromfile(Filename);