如果是在oracle中,可以使用blob类型的字段来存取。

解决方案 »

  1.   

    如果你是用oracle数据库,你可以将流保存到blob类型的字段中去。
      

  2.   

    你用的是什么类型,我用过SQL中的IMAGE字段类型,但只能保存很小的文件,后来改用Pardox7中的OLE字段类型,一切搞定了。
      

  3.   

    我用的就是SQLSERVER2000里面的IMAGE类型。请问是不是这个这个原因,那么请教用SQLSERVER里面的什么类型字段可以解决此问题!
      

  4.   

    用SQLSERVER2000里面的IMAGE类型可以;写如曹作如下:
    (ADOTable1.FieldByName('AAAA') as TBlobField).LoadFromFile('h:\1998年.jpg');
    —————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
    I.Desire := '加不加分随你';
    —————————————————————————————————
           
      

  5.   

    写入什么文件都可以,与文件类型无关。
    —————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
    I.Desire := '加不加分随你';
    —————————————————————————————————
           
      

  6.   

    TO:lxpbuaa(桂枝香在故国晚秋)
    感谢你的回答,我照你的办法试了一下,但依然提示“STREAM READ ERROR”,为什么?MSDOS.SYS文件只有几百字节。
    (query1.FieldByName('AAA') as TBlobField).LoadFromFile('c:\MSDOS.SYS');
      

  7.   

    我曾经用过,查过书,理论上讲好象可以,但实际作的时候不行,最后我没办法而改用prodax,如果你能在sql中处理,告诉我,[email protected],如果你解决不了,建议你改变数据库。
       必须在网上,你可以使用Corba来实现数据共享。
      

  8.   

    我不久前刚刚做了一个Word for Web控件 
    除了:另外我虽然可以打开WORD文件但速度比较慢,看的出消耗了很多内存,而且打开WORD文件的次数一多就容易出错没有你说的问题字段类型得用Image
    把你的Query设置为缓冲模式 试试
      

  9.   

    不明白你为何同一个操作里要
    OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,false
    然后又来
    TBlobField(Query1.fieldbyname('aaa')).savetostream(ccc);
    ccc.position:=0;
    OleContainer1.loadfromstream(ccc);还有,你保存的代码为什么不帖出来!
      

  10.   


    保存
    var    OleStream : TMemoryStream;
     OleStream := TMemoryStream.Create;
     OleContainer1.SaveToStream(OleStream);
        OleStream.Position := 0; //找回零点
     Edit;
                    Tblobfield(FieldByName('Content')).LoadFromStream(OleStream);
                    Post;
                    UpdateBatch        ;
      

  11.   

    同意楼上,但不是所有的数据库的blod字段都可以进保存的进去。
      

  12.   

    TO;wenzm(疯之驴),我照你的方法试了一下,但必须要几个屏蔽掉几个才能执行,执行后的结果依然是“STREAM READ ERROR”。到底是为什么?另外我也把打开和保存WORD分开写了。var
     OleStream: TMemoryStream;
    begin
     OleStream:= TMemoryStream.Create;
     OleContainer1.SaveToStream(OleStream);
     OleStream.Position := 0;
    // Edit;
     Tblobfield(Table1.FieldByName('aaa')).LoadFromStream(OleStream);
    // Post;
    // UpdateBatch;
    end;
      

  13.   

    netlib(河外孤星) :现在SQL中也可以搞定了,且可以存any type,any size
    fanxinlong