我要用录音机(或随生听)把磁带里的内容保存到数据库中,应该怎么做
请各位不吝赐教

解决方案 »

  1.   

    OLE
    先录好在放进数据库,然后删除录的文件
    就是借用一下临时文件而已
      

  2.   

    先保存录音文件,然后再var
        sCommandLine: string;
        bCreateProcess: boolean;
        lpStartupInfo: TStartupInfo;
        lpProcessInformation: TProcessInformation;
        MemSize: Integer;
        Buffer: PChar;
        MyFile: TFileStream;
        Stream: TADOBlobStream;
        RegF:TRegistry;
    begin
        dataset.Close;
        dataset.commandtext:='select * from 二进制文档 where 来源=''' +sourcetablename+''' and 来源id='+inttostr(sourceid);
        dataset.open;
        if not dataset.eof then
            dataset.Edit
        else begin
            dataset.close;
            dataset.commandtext:='select * from 二进制文档';
            dataset.open;
            dataset.append;
            end;
        dataset.FieldValues['来源']:=sourcetablename;
        dataset.FieldValues['来源id']:=sourceid;
        MyFile:=TFileStream.Create(ExtractFilePath(Application.EXEName)+'temp.wav',fmOpenRead);
        Stream := TADOBlobStream.Create(dataset.FieldByName('内容') as TBlobField, bmWrite);{‘Doc’为BLOB字段名}
        MemSize := MyFile.Size;
        Inc(MemSize);//增加的一字节给结尾的null
        Buffer := AllocMem(MemSize);
        try
            Stream.Seek(0, soFromBeginning);//流指针位置放到最前
            MyFile.Read(Buffer^,MemSize);
            Stream.Write(Buffer^,MemSize);
        finally
            MyFile.Free;
            Stream.Free;
        end;
        dataset.post;
        dataset.close;
    end;