首先警告你:
VARBINARY类型在SQL SERVER中最长只能定义8K,
你的MP3文件都有这么小吗?

解决方案 »

  1.   

    就是image类型呀。我就是这样做的,十几M的asf文件都可以保存
      

  2.   

    //文件写入表
    TBlobField(AdoTable1.FieldByName('2')).LoadFromFile(FileName);
    //读取数据
    TBlobField(AdoTable1.FieldByName('2')).SaveToFile(FileName);
      

  3.   

    哈哈谢谢各各高手这个问题我终于摆平啦
    to 游少爷::谢谢你的提醒啦一定给分以下是我解决的代码欣赏一下::
    function TForm1.bts(const filename: string): string;
    begin
      with tfilestream.Create(filename,fmopenread) do
      try
       setlength(result,size);
       read(pointer(result)^,size);
       finally
       free;
       end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
     b:tblobstream;
     a:tmemorystream;
    begin
    adotable1.Open;
    adotable1.Append;
    if opendialog1.Execute then
    adotable1.FieldByName('2').AsString:=bts(opendialog1.FileName);
    adotable1.Post;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
     sfilename:string;
     bs:tadoblobstream;
    begin
      bs:=tadoblobstream.Create(tblobfield(adotable1.FieldByName('2')),bmread);
      try
       if savedialog1.Execute then
       bs.SaveTofile(savedialog1.FileName);
       finally
       bs.Free;
    end;
    end;
    end.
      

  4.   

    哈哈谢谢各各高手这个问题我终于摆平啦
    to 游少爷::谢谢你的提醒啦一定给分以下是我解决的代码欣赏一下::
    function TForm1.bts(const filename: string): string;
    begin
      with tfilestream.Create(filename,fmopenread) do
      try
       setlength(result,size);
       read(pointer(result)^,size);
       finally
       free;
       end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
     b:tblobstream;
     a:tmemorystream;
    begin
    adotable1.Open;
    adotable1.Append;
    if opendialog1.Execute then
    adotable1.FieldByName('2').AsString:=bts(opendialog1.FileName);
    adotable1.Post;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
     sfilename:string;
     bs:tadoblobstream;
    begin
      bs:=tadoblobstream.Create(tblobfield(adotable1.FieldByName('2')),bmread);
      try
       if savedialog1.Execute then
       bs.SaveTofile(savedialog1.FileName);
       finally
       bs.Free;
    end;
    end;
    end.