procedure TForm1.button2Click(Sender: TObject);
begin
if  OpenDialog1.Execute  then
   begin
        if  not  adoquery1.Active   then  adoquery1.Open;
        adoquery1.Append;
        s:=ExtractFileName(OpenDialog1.FileName);
        (adoquery1.FieldByName('word') as  TBlobField).LoadFromFile(OpenDialog1.FileName);
        //等同于上一句
        //TBlobField(adoquery1.FieldByName('word')).LoadFromFile(OpenDialog1.FileName);
        adoquery1.Post;
        ShowMessage('插入Word文件成功!');
   end;
end;

解决方案 »

  1.   


    用opendialog打开选取word文件,然后插入到数据库中, 就这样。
      

  2.   

    建一个doc字段,类型varbinary(MAX)保存:
    ADOQuery1.Append;
    TBlobField(ADOQuery1.FieldByName('doc')).LoadFromFile('D:\1.doc');
    ADOQuery1.Post;取值:
    TBlobField(ADOQuery1.FieldByName('doc')).SaveToFile('D:\2.doc');或者用流操作:
    LoadFromStream/SaveToStream
      

  3.   

    将WORD文件以内存流方式读取后,
    再以内存流方式保存到数据库中(表名:WORDA,类型为:IMAGE)
    我就是这样实现的反之,要读取这些信息时,从数据库表内读取这些内存流保存到一个WORD文件
    中,再用WORD打开即可
      

  4.   

    kaikai_kk
     (KAIKAI) 
    你的方法一真简单,谢谢分享
    我有空也研究研究这个
      

  5.   

    谢谢楼上的各位。
    我已经自己解决了。
    因为我对数据库了解不多,对我而言,kaikai_kk和xxzqbxxzqb说的方法,是有点费劲的。
    最后我采用的是类似sgzhou12345说的方法,用流读出word,保存成字符串,然后放入数据库中的。