如何在SQL SERVER2000中存储word 文件和图片???? 如何在SQL SERVER2000中存储word 文件和图片????请写出具体的SQL语句。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://218.56.11.178:8020/web/index.aspx有相关内容 去看看吧 可以用IMAGE字段来存放,存放的时候可以用BLOB字段存放内容,在另外的一个字段存放文件名就可以了,用的时候用SHELLEXECUTE来执行不就可以了, 可以采用OLE的方法,用下面的流方法将文件存入数据库 Olecontainer1.DoVerb(ovshow); olecontainer1.SaveToFile('Tempdoc.doc'); //存成本地文件,然后以流的形式保存。 TmpFile := TFileStream.Create('Tempdoc.doc', fmopenread); bufsize := TmpFile.size + 1; buf := Allocmem(bufsize); try ImageStream := TAdoBlobStream.Create(FieldByName('wdnr') as TBlobField, bmwrite); ImageStream.Seek(0, soFromBeginning); TmpFile.Read(buf^, bufsize); ImageStream.Write(buf^, bufsize); finally TmpFile.Free; ImageStream.Free; end; post;然后可以用下面的语句取出var TmpFile: TFileStream; ImageStream: TAdoBlobStream; buf: pchar; bufsize: integer;begin try ImageStream := TAdoBlobStream.Create(ADO.Fieldbyname('wdnr') as Tblobfield, bmread); bufsize := ImageStream.size + 1; buf := AllocMem(bufsize); TmpFile := TFileStream.Create('Tempdoc.doc', fmcreate); TmpFile.position := 0; ImageStream.read(buf^, bufsize); TmpFile.write(buf^, bufsize - Sizeof(TStreamHeader)); //此处一定要截去ole的文件头描述. finally Tmpfile.free; ImageStream.Free; end; Olecontainer1.LoadFromFile('Tempdoc.doc'); Olecontainer1.DoVerb(ovshow); if FileExists('Tempdoc.doc') then DeleteFile('Tempdoc.doc');整个过程word显示在olecontainer中,但是存入数据库的内容会很大。 高手们呀,帮一帮我吧,我这辈子都不会忘记你们的。 怎么通过LoadCursor加载外部的图标文件? 急急急急急急 求delphi 7。0 下载地址 请教一个串口里判断地址位的问题 如何实现软件的平台化? 量身自做的电子字典:请给点建议 IntraWeb v5.0.35在D6下编译通不过,Why? 怎样把参数当作数据库的一列来返回? AutoCAD文件修复问题,高分请教!!^_^在线等候 故地重游,别有感触 socketconnection 如何动态设置 host 值 Delphi写的COM,用wise作安装,安装时wise会自动注册COM,卸载时候不会注销COM!
有相关内容 去看看吧
Olecontainer1.DoVerb(ovshow);
olecontainer1.SaveToFile('Tempdoc.doc'); //存成本地文件,然后以流的形式保存。
TmpFile := TFileStream.Create('Tempdoc.doc', fmopenread);
bufsize := TmpFile.size + 1;
buf := Allocmem(bufsize);
try
ImageStream := TAdoBlobStream.Create(FieldByName('wdnr') as TBlobField, bmwrite);
ImageStream.Seek(0, soFromBeginning);
TmpFile.Read(buf^, bufsize);
ImageStream.Write(buf^, bufsize);
finally
TmpFile.Free;
ImageStream.Free;
end;
post;
然后可以用下面的语句取出var
TmpFile: TFileStream;
ImageStream: TAdoBlobStream;
buf: pchar;
bufsize: integer;
begin
try
ImageStream := TAdoBlobStream.Create(ADO.Fieldbyname('wdnr') as Tblobfield, bmread);
bufsize := ImageStream.size + 1;
buf := AllocMem(bufsize);
TmpFile := TFileStream.Create('Tempdoc.doc', fmcreate);
TmpFile.position := 0;
ImageStream.read(buf^, bufsize);
TmpFile.write(buf^, bufsize - Sizeof(TStreamHeader)); //此处一定要截去ole的文件头描述.
finally
Tmpfile.free;
ImageStream.Free;
end;
Olecontainer1.LoadFromFile('Tempdoc.doc');
Olecontainer1.DoVerb(ovshow);
if FileExists('Tempdoc.doc') then DeleteFile('Tempdoc.doc');整个过程word显示在olecontainer中,但是存入数据库的内容会很大。