在bde里面把關于blob的參數設置大些

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1373/1373219.xml?temp=.5225946
    http://expert.csdn.net/Expert/topic/934/934551.xml?temp=.7429468
    http://expert.csdn.net/Expert/topic/708/708732.xml?temp=.1524927
    http://expert.csdn.net/Expert/topic/637/637661.xml?temp=.4878809
      

  2.   

    bde设大不起作用!
    TParam.AsBlob 也不行
      

  3.   

    用流式文件存吧。
    我在BCB5.0里用流式文件可以存入小于2.5M的图片,您可以试试。
    我的问题是如何解决大于2.5M的文件存入Oracle 8i的BLOB内。
    [email protected]
      

  4.   

    这个问题我已经解决了,需要用流式文件存,并且存的时候不要用table
    而要用TQuery,在数据库存取上加StartAction、Commit等事件。
    在bde里设置数据库的时候不要用自动提交,而要改用手动提交。
    我目前能写入Oracle 里最大的文件是78M,应该可以满足了吧。
      

  5.   

    goldflute(goldflute) 
    能写个例子吗,delphi的,谢谢!!
      

  6.   


    看这个例子是不是对你有帮助?procedure TForm1.Button2Click(Sender: TObject);
    var
        PicFieldName: string;
        PicData: TADOBlobStream;
        Pic: TJPEGImage;
        sqlstr:string;
    begin
    //reader from table image
       sqlstr:='select * from imagetable';
       with adoquery1 do
       begin
       close;
       sql.Clear;
       sql.Add(sqlstr);
       open;
       end;
    PicData :=TADOBlobStream.Create(TBlobField(adoquery1.FieldByName('num')), bmRead);
         //重点在下面
          pic := TJPEGImage.Create;
          try
            //Image1.Picture.Graphic.LoadFromStream (PicData);
            pic.LoadFromStream(PicData);
            image1.Picture.Assign(pic);
          finally
            PicData.Free;
            pic.Free;
          end;end;end.