SQL Server 和Delphi中有一个讨厌的地方就是,存储任意二进制文件的时候,比较烦人,例如把一个Word文件(25KB)保存到SQL Server中,但是等你重新提出保存成另外的文件的时候,可能生成的文件大小只有24.7KB左右大小了!这样Word就不能打开重新生成的文件!
要解决这个问题,要做几个修改:
首先,你必须修改SQL Server中用来保存任意文件的字段的类型为Image(不要用Text/nText字段,更加不要用Binary/VarBinary字段,因为binary字段最多只能存储8K的数据)数据类型,然后,你在Word里面添加字段的时候,Delphi会默认字段类型为ftMemo,你必须把这个字段改成ftBlob字段!以后你就可以通过
Table1FileField.LoadFromFile()/SaveToFile()来读取任意的二进制文件了!而且不会丢失任何字节!也不会多出什么东西来!这是Kingron的经验之谈。