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;
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;
用opendialog打开选取word文件,然后插入到数据库中, 就这样。
ADOQuery1.Append;
TBlobField(ADOQuery1.FieldByName('doc')).LoadFromFile('D:\1.doc');
ADOQuery1.Post;取值:
TBlobField(ADOQuery1.FieldByName('doc')).SaveToFile('D:\2.doc');或者用流操作:
LoadFromStream/SaveToStream
再以内存流方式保存到数据库中(表名:WORDA,类型为:IMAGE)
我就是这样实现的反之,要读取这些信息时,从数据库表内读取这些内存流保存到一个WORD文件
中,再用WORD打开即可
(KAIKAI)
你的方法一真简单,谢谢分享
我有空也研究研究这个
我已经自己解决了。
因为我对数据库了解不多,对我而言,kaikai_kk和xxzqbxxzqb说的方法,是有点费劲的。
最后我采用的是类似sgzhou12345说的方法,用流读出word,保存成字符串,然后放入数据库中的。