我想把任意一个文件存储在access数据库中某个字段,并且需要从数据库中取出在建成原来的文件,使用tquery组件,请问怎么在access中存取这个文件,数据苦字段用什么类型呢?

解决方案 »

  1.   

    類似如下:
    保存
    ADOQuery1.Close; 
    ADOQuery1.SQL.Clear; 
    ADOQuery1.SQL.Add('insert into Pic values(.....,:Pic,...)'); 
    ................. 
    ADOQuery1.Parameters.ParamByName('Pic').Assign(Image1.Picture.Bitmap); 
    ................. 
    ADOQuery1.ExecSQL; 讀取
    Image1.Picture.Bitmap.Assign(TBLOBField(ADOQuery1.Parameters.ParamByName('Pic'))) 
      

  2.   

    TBLOBFIELD(DtMdl_Gdgh.CDS_gdkstb.FieldByName('B_KST')).savetostream(Ms);
    DtMdl_Gdgh.CDS_gdkstghb.EDIT;
    TBlobField(DtMdl_Gdgh.CDS_gdkstghb.FieldbyName('B_KST')).LoadFromStream(Ms);
    DtMdl_Gdgh.CDS_gdkstghb.POST;
      

  3.   

    上面给的都不行,我得用tquery组件,而且必须得能存储任何的文件,不只是图形文件的。
      

  4.   

    access使用“OLE 对象”字段类型,bee2518(迷茫ing)说的方法应该可以的吧,不过使用bde连接的话,文件的的大小会受到bde参数中的bolb size的影响,delphi默认是32k,也就说你的文件大小不能大于32k,否则你保存的数据会丢失。你可以在控制面板中bde那里调整这个参数。但是你用access数据库为什么不用ado呢,ado好像就没有这个大小限制,用其来也和tquery差不多啊,呵呵。