如何在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中,但是存入数据库的内容会很大。 sql 语句中可以有变量吗??? 郁闷死了,请兄弟们帮忙 Canvas的问题,好像有点难。 学做打字测试程序 有学生管理系统吗 大家来说说,这种技术难不难呢? Treeview 的一个小问题 求查询的标准语句 如何捕获子线程中的Exception 如何让鼠标的滑轮控制ScrollBox上的竖着的滚动条. 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中,但是存入数据库的内容会很大。