在delphi中如何将word文件保存到sql server数据库中,并且如何在打开这个word文件!急!!

sophia531 2003-08-29 02:36:18
我现在想要把我本地的word文件保存到服务器的数据库中,然后还要在客户端打开这个word文件,不知道是不是能实现??那位大虾帮帮小妹!!
...全文
284 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdwyh 2003-08-30
  • 打赏
  • 举报
回复
to sophia531(雨桐)
在表中添加一字段来标记word文件(比如数字编号)即可,定位时用
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select * from <表名> where <字段1>='+<编号>);
adoquery1.sql.open;

sophia531 2003-08-30
  • 打赏
  • 举报
回复
to austinlie(黄瓜杀手)
我想知道在数据保存到数据库中,查找的时候如何定位到你想要打开是word文件啊???
sophia531 2003-08-30
  • 打赏
  • 举报
回复
belllab.yeah.net
这个网站打不开啊!!
tiexinliu 2003-08-30
  • 打赏
  • 举报
回复
word文件传入和传出数据库。
uses IdGlobal;
procedure TdjhyForm.SpeedButton2Click(Sender: TObject);
var
sfilename:string;
function BlobContentTostring(const Filename:string):string;
begin
with Tfilestream.Create(filename,fmopenread) do
try
setlength(result,size);
read(pointer(result)^,size);
finally
free;
end;
end;
begin
if opendialog1.Execute then
begin
sfilename:=opendialog1.FileName;
DataModule1.ADOQuery14.Edit;
DataModule1.ADOQuery14.FieldByName('word').AsString:=blobcontenttostring(sfilename);
DataModule1.ADOQuery14.Post;
end;
end;
procedure TdjhyForm.SpeedButton1Click(Sender: TObject);
var
sfilename:string;
bs:Tadoblobstream;
begin
bs:=Tadoblobstream.Create(TBLOBfield(DataModule1.ADOQuery14.FieldByName('word')),bmread);
try
sfilename:=extractfilepath(application.ExeName)+trim(DataModule1.adoquery14.fieldbyname('hybh').AsString);
sfilename:=sfilename+'.'+'doc';
bs.SaveToFile(sfilename);
try
djhyopenform:=Tdjhyopenform.Create(self);
djhyopenform.olecontainer1.CreateObjectFromFile(sfilename,false);
djhyopenform.OleContainer1.Iconic:=true;
djhyopenform.ShowModal;
finally
djhyopenform.Free;
end;
finally
bs.free;
end;
end;


tiexinliu 2003-08-30
  • 打赏
  • 举报
回复
打开word文件。
procedure TfjfsglForm.SpeedButton4Click(Sender: TObject);
var
MSWord: Variant;
str:string;
begin
if trim(DataModule1.adoquery27.fieldbyname('fjmc').asstring)<>'' then
begin
str:=trim(DataModule1.ADOQuery27.fieldbyname('fjmc').AsString);
MSWord:= CreateOLEObject('Word.Application');//
MSWord.Documents.Open('d:\Program Files\Common Files\Sfa\'+str, True);//
MSWord.Visible:=1;//
str:='';
MSWord.ActiveDocument.Range(0, 0);//
MSWord.ActiveDocument.Range.InsertAfter(str);//?úWord?D???ó×?·?'Title'
MSWord.ActiveDocument.Range.InsertParagraphAfter;
end
else
showmessage('');
end;


belllab 2003-08-29
  • 打赏
  • 举报
回复
想要控制WORD的话,
belllab.yeah.net有个例子
fhuibo 2003-08-29
  • 打赏
  • 举报
回复
收藏
AustinLei 2003-08-29
  • 打赏
  • 举报
回复
//保存到数据库
var
ds:TAdoDataSet;
fs:TFileStream;
fn:String;
i:Integer;
id:Integer;
count:Integer;
begin
try
ds:=TAdoDataSet.Create(nil);
ds.Connection:=ADOConn;
ds.Insert;
fs:= TFileStream.Create(文件路径名,fmOpenRead);
fs.Seek(0, 0);
TBlobField(ds.FieldByName('字段名')).LoadFromStream(fs);
fs.Free;
ds.Post;
ds.Free;
except
on E:Exception do
begin
ShowMessage(E.Message);
ds.Free;
end;
end;

//打开文件,先保存为一个临时文件,再打开
fs:=TAdoBlobStream.Create(TBlobField(aqAttachFile.FieldbyName('file_entity')),bmRead);
fn:=取个名字;
fs.SaveToFile(fn);
lxpbuaa 2003-08-29
  • 打赏
  • 举报
回复
TBlobField.LoadFromFile;
TBlobField.SaveToFile(A);

uses ShellAPI;

ShellExecute(0, 'open', PChar(A), nil, nil, SW_SHOW);

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧