如果你用sql server就可以办到, 用imgae字段, 采用数据流,或者文件流的方试存取任何文件。

解决方案 »

  1.   

    我想直接在Deskbase里搞定,行吗?
      

  2.   

    没试过, 在sql server里一定能行。  不过我相信你用image字段,应该可以存储的。 就是需要先转换一下。看如下代码. 你可以把.bmp 改为你的 .wav下面用流的方式存储 
    procedure TForm7.Button1Click(Sender: TObject);      //保存.bmp格式的文件到更新包里。
    var str:Tmemorystream;
    begin
    str:=Tmemorystream.Create;
    str.LoadFromFile('d:\cai.jpg');//OpenDialog1.FileName 也可以
    str.Position:=0;    adoquery2.Append;                               //图片
        Tblobfield(adoquery2.FieldByName('image')).loadfromstream(str);
        try
        adoquery2.Post;
        finally
        str.Free;
        end;
    end;
    procedure TForm5.Button1Click(Sender: TObject);
    var str:Tmemorystream;                   //修改图片POS_mgxid
    begin
    IF not ADOQUERY2.IsEmpty Then               //如果更新编号不为空
      Begin
      str:=Tmemorystream.Create;                        //读取远程更新包的数据到程序执行的目录下面
      str.Position:=0;
      Tblobfield(adoquery2.FieldByName('image')).savetostream(str);
      str.SaveToFile(ExtractFilePath(Application.ExeName)+'image\cai.jpg');
      str.Free;
      end;
      

  3.   

    二进制字段我用过了.但不知怎么把声音文件放进去!好像Deskbase不支持啊!
      

  4.   

    二进制字段
    保存:
    (query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.mp3');
    取出:
    (query1.FieldByName('img') as TBlobField).Savetofile('e:\temp.mp3');
    这种字段可以保存任何文件。
      

  5.   

    二进制字段
    保存:
    (query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.mp3');
    取出:
    (query1.FieldByName('img') as TBlobField).Savetofile('e:\temp.mp3');
    这种字段可以保存任何文件。
      

  6.   

    二进制字段
    保存:
    (query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.mp3');
    取出:
    (query1.FieldByName('img') as TBlobField).Savetofile('e:\temp.mp3');
    这种字段可以保存任何文件。