我现在想要把我本地的word文件保存到服务器的数据库中,然后还要在客户端打开这个word文件,不知道是不是能实现??那位大虾帮帮小妹!!
解决方案 »
- Delphi下如何读写大文件,这个问题困扰我好久了。
- 如何判断控件上数据被更改
- 还没正式用,就发现Delphi2009几个Bugs!
- 分布式数据开发,套间及同步问题
- 关于SQL SERVER中日期变量的问题
- 如何把frame放置到panel中?
- Delphi的DbGridEh的打印问题(在线等)
- 如何打印TRichEdit中内容?
- 在Oracle中如何保存时间值,如20:30,如果用Date字段来保存,它前面老是加‘1899-12-30’,请问大家如何解决。我只想保存时间
- 关于日期计算的问题!
- 烦!我用流的方式把WORD文件插入到数据库中的IMAGE类型字段,如何把把该字段的内容读出来,我用SAVETOFILE生成一个指定的WORD文件,但打
- 求DsgnIntf.dcu
TBlobField.SaveToFile(A);uses ShellAPI; ShellExecute(0, 'open', PChar(A), nil, nil, SW_SHOW);————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
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);
belllab.yeah.net有个例子
这个网站打不开啊!!
我想知道在数据保存到数据库中,查找的时候如何定位到你想要打开是word文件啊???
在表中添加一字段来标记word文件(比如数字编号)即可,定位时用
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select * from <表名> where <字段1>='+<编号>);
adoquery1.sql.open;
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;
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;