问题:如何把word文件到如到s'ql2000的image字段! 请问:如何把word文件到如到s'ql2000的image字段! 另外:如何实现word文档的批量入库; 如把一定格式(分割符,空行等)的word文件入库!不要丢失格式!谢了!!有相关源码最好!(我在作题库) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtnrs, Grids, DBGrids, ExtCtrls, DBCtrls, DB, ADODB;type TForm1 = class(TForm) ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; OleContainer1: TOleContainer; OpenDialog1: TOpenDialog; Panel1: TPanel; DBGrid1: TDBGrid; Button1: TButton; Button2: TButton; Button3: TButton; DBNavigator1: TDBNavigator; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(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 OleContainer1.Enabled=true then try OleContainer1.SaveToFile(ExtractFilePath(Application.ExeName)+'tmp'+'.doc'); except ShowMessage('失败'); end; //OleContainer1. if OpenDialog1.Execute then begin sFilename:=OpenDialog1.FileName; //sFileName:= AdoQuery1.Edit; AdoQuery1.FieldByName('wordfile').AsString:=BlobContentToString(sFileName); AdoQuery1.Post; end;end;procedure TForm1.Button2Click(Sender: TObject);var sFileName:string; bs:TAdoBlobStream;begin bs:=TAdoBlobStream.Create(TBlobField(AdoQuery1.FieldByName('wordfile')),bmRead); try sFileName:=ExtractFilePath(Application.ExeName)+'tmp'; sFileName:=sFileName+'.doc'; bs.SaveToFile(sFileName); OleContainer1.CreateObjectFromFile(sFileName,false); finally bs.Free; end;end;procedure TForm1.Button3Click(Sender: TObject);begin OleContainer1.SaveAsDocument(ExtractFilePath(Application.ExeName)+'tmp1'+'.doc');end;end. 我们以前是用LoadfromStream来解决,传几十兆的大家伙也行。不过一般来说doc文件用Assign就解决了。 delphi7 “没有注册类别” 在WM_IME_COMPOSITION如何清除输入法输入的内容 中大,华工的计算机专业毕业生大概什么价位可以招到? 调用dll,结果窗体不见了,被释放了? 求购医院管理系统 在广州找工作,熟悉VC BCB PB DELPHI 疯狂代码生成器 如何打包bde??急 哪里下载d5adoupdate2.exe? 请推荐比较好的Gif控件?谢谢 问题请教?? 在先等待,高分求助!!!!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtnrs, Grids, DBGrids, ExtCtrls, DBCtrls, DB, ADODB;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
OleContainer1: TOleContainer;
OpenDialog1: TOpenDialog;
Panel1: TPanel;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
Button3: TButton;
DBNavigator1: TDBNavigator;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(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 OleContainer1.Enabled=true then
try
OleContainer1.SaveToFile(ExtractFilePath(Application.ExeName)+'tmp'+'.doc');
except
ShowMessage('失败');
end;
//OleContainer1.
if OpenDialog1.Execute then
begin
sFilename:=OpenDialog1.FileName;
//sFileName:=
AdoQuery1.Edit;
AdoQuery1.FieldByName('wordfile').AsString:=BlobContentToString(sFileName);
AdoQuery1.Post;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var sFileName:string;
bs:TAdoBlobStream;
begin
bs:=TAdoBlobStream.Create(TBlobField(AdoQuery1.FieldByName('wordfile')),bmRead);
try
sFileName:=ExtractFilePath(Application.ExeName)+'tmp';
sFileName:=sFileName+'.doc';
bs.SaveToFile(sFileName);
OleContainer1.CreateObjectFromFile(sFileName,false);
finally
bs.Free;
end;end;procedure TForm1.Button3Click(Sender: TObject);
begin
OleContainer1.SaveAsDocument(ExtractFilePath(Application.ExeName)+'tmp1'+'.doc');
end;end.