我现在有一个数据库文件,在这个数据库里面的某个字段中又存了一个数据库文件,请问如何将这个数据库文件从数据库中读出来?我用TBlobField读取,只能保存为33KB的文件,而我原来存进去的文件是137KB的,请问问题出在什么地方?
下面是我读取的文件的代码,请大虾们指导,谢谢了~~
procedure TForm1.Button2Click(Sender: TObject);
begin
  (Tblobfield(Query1.FieldByName('Init_File')) as Tblobfield).SaveToFile('d:\'+IntToStr(b)+'.txt');
  b:=b+1;
  (Tblobfield(Query1.FieldByName('Reg_File')) as Tblobfield).SaveToFile('d:\'+IntToStr(b)+'.txt');
  b:=b+1;
  (Tblobfield(Query1.FieldByName('Receive_File')) as Tblobfield).SaveToFile('d:\'+IntToStr(b)+'.txt');
  b:=b+1;
  (Tblobfield(Query1.FieldByName('Init2_File')) as Tblobfield).SaveToFile('d:\'+IntToStr(b)+'.txt');
  b:=b+1;
end;

解决方案 »

  1.   

    字段类型是什么的呢?二进制?还是image?
      

  2.   

    用VB写的程序居然可以把那个137KB的数据库文件读出来,而用Delphi就只能保存为33KB的文件,郁闷,,,,难道Delphi就做不到吗?
    希望老大们指导一下啊~~~~~~
      

  3.   

    好像SQL只能存取小于33K的文件,即使大于33K的文件在存储时没报错,其实已经损坏了原文件!
      

  4.   

    数据库是Access的,好像可以存137KB的文件的,因为另一个同事用VB写的程序把文件拿出来了^_^
      

  5.   

    哦~~这样~那就不太清楚了,我一般都用image类型滴~~~而且文件也不大~嘿
      

  6.   

    LoadFromBlobField(字段); //从表中读取并保存到文件夹中.方法很简单~
    SaveToFile('路径');
      

  7.   

    从数据库中读到文件夹里面
    (Tblobfield(Query1.FieldByName('Init_File')) as Tblobfield).SaveToFile('d:\1.txt');这一句就可以把数据库中Init_File字段保存的文件保存为d:\1.txt
    可是很奇怪,本来这个文件是137KB的,用这种方法保存下来就只有33KB了