主要运用TBlobField,TBlobStream两类,LoadFromStream,SaveToStream,LoadFromFile,SaveToFile,....
编辑可用Memo关联,帮助写的明白!

解决方案 »

  1.   

    如果是图片可以用sql写入blob:
      Query1.SQL.Add(' insert into Table(BlobField)'); 
      Query1.SQL.Add(' values (:ABlobField)'); 
      Query1.Parameters.ParamByName('ABlobField').LoadFromStream (ABlobStream, ftBLOB); 
      Query1.ExecSQL;
     可以把你的图片框赋给ABlobStream
    如果是文本也可以用sql写入memo:
      Query1.SQL.Add(' insert into Table(BlobField)'); 
      Query1.SQL.Add(' values (:ABlobField)'); 
      Query1.Parameters.ParamByName('ABlobField').LoadFromStream (ABlobStream, ftMemo); 
      Query1.ExecSQL;
    主要都是把memo,blob(picture)转换成stream就行了  
      

  2.   

    var 
      YourStream : TMemoryStrem; 
    begin 
      YourStream := TMemoryStream.Create; 
      try 
        Query1.Close; 
        Query1.SQL.CLear; 
        Query1.SQL.Add('Select BlobField from Table'); 
        Query1.Open; 
        Query1.First; 
        YourStream.Clear; 
        TBlobField(ADOQuery1.FieldByName('BlobField')).SaveToStream(YourStream); 
        // ... 以下你可以把你的流装载到TMemo或TPicture,可以显示它
      finally 
        YourStream .Free; 
      end; 
    end; 
         
      

  3.   

    var 
      YourStream : TMemoryStrem; 
    begin 
      YourStream := TMemoryStream.Create; 
      try 
        Query1.Close; 
        Query1.SQL.CLear; 
        Query1.SQL.Add('Select BlobField from Table'); 
        Query1.Open; 
        Query1.First; 
        YourStream.Clear; 
        TBlobField(Query1.FieldByName('BlobField')).SaveToStream(YourStream); 
        // ... 以下你可以把你的流装载到TMemo或TPicture,可以显示它
      finally 
        YourStream .Free; 
      end; 
    end; 
         
      

  4.   

    好象不能用TQuery,因为它的对大对象的处理受Database的CacheSize影响。
    默认为32K,如果你的对象大于32K,可能会有问题.
    解决方案:用TTable。
      

  5.   

    no,TTable不能用于解决c/s模式的数据库问题,效率低下,
    那个方法绝对可行,我经常用,建议你试试.