现在想做一个界面,通过edit1输入图号,edit2通过浏览按钮定位图片所在位置。然后点击“保存”按钮吧图片和按钮对应输入到数据库中。
图有不同的格式,请问大家有办法吗?
最好有比较详细的例子,谢谢拉:)

解决方案 »

  1.   

    如果图片有不同的格式,存入的时候没问题,但读出的时候就有问题了,不知道用哪种格式读出存入:
    var
    mm:Tmemorystream;
    begin
    mm:=Tmemorystream.create;
    try
    mm.loadfromfile(edit2.text);
    table.edit;
    table.fieldbyname('no').asstring:=edit1.text;
    Tblobfield(table.fieldbyname('image'))loadfromstream(mm);
    table.post;
    finally
    mm.free;
    end;
    end;
    但读出的时候不知道用什么格式,你最好加一个扩展名字段,这样比较好,个人意见!
      

  2.   

    恩,是准备加一个这样的字段的。那读出又怎么读呢?
    还有loadfromstream(mm);
    那个mm是什么呀?要放什么控件吗?
    我的意思是象平常我们点击“浏览”按钮然后选择路径显示在旁边的edit中
      

  3.   

    这是目前的程序,还是有问题。大家帮看看吧:)
    procedure TForm1.FormCreate(Sender: TObject);
    var
       aStream1: TStream;
       bmp     : TBitmap;
    begin
    bmp := TBitmap.Create();
    try
            ADOTable1.Append;
            aStream1 := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('bolb'), bmReadWrite);
            bmp.LoadFromFile(edit1.text);
            bmp.SaveToStream(aStream1);
            Image1.Picture.Assign(bmp);
            aStream1.Free;
            adotable1.fieldbyname('id').AsString:=edit2.text;
            ADOTable1.Post;
            ADOTable1.Next;
    finally
    bmp.Free;
    end;
     end;
      

  4.   

    很明显的错误,aStream1 没有 create  !