这是一个将文档存到SQL Server数据库中并读出的代码,但是其中的一条指令temp.SaveToFile(也就是全文倒数第6行)不能通过编译,不知为什么?要如何改正,或是有什么更好的办法将数据流写到文件中,请与我联系,,万分感谢!==============================================================
procedure TForm1.inputClick(Sender: TObject);//选择文档存入数据库
var
fnole:string;
function BlobToString(const FileName:String):String;
begin
with TFileStream.Create(FileName,fmOpenRead) do
begin
try
Setlength(Result,Size);
Read(Pointer(result)^,Size);
Finally
Free;
end;
end;
end;
begin
table1.Open;
if (OpenDialog1.Execute) then
begin
fnole:=OpenDialog1.FileName;
table1.Edit;
table1.FieldByName('Doc').AsString:=BlobToString(fnole);
table1.Append;
end;end;
===================================================
procedure TForm1.LoadFromDBClick(Sender: TObject);//从数据库中读出文档
var
FileName:String;
temp:TBlobStream;
begin
temp:=TBlobStream.Create(table1.FieldByName('Doc') as TBlobField,bmRead);
Try
FileName:='c:\temp.doc';
temp.Seek(soFromBeginning,0);
temp.SaveToFile(FileName);《------------这句中的SaveToFile不认识?
OleContainer1.CreateObjectFromFile(FileName,False);
finally
temp.Free;
end;
end;
procedure TForm1.inputClick(Sender: TObject);//选择文档存入数据库
var
fnole:string;
function BlobToString(const FileName:String):String;
begin
with TFileStream.Create(FileName,fmOpenRead) do
begin
try
Setlength(Result,Size);
Read(Pointer(result)^,Size);
Finally
Free;
end;
end;
end;
begin
table1.Open;
if (OpenDialog1.Execute) then
begin
fnole:=OpenDialog1.FileName;
table1.Edit;
table1.FieldByName('Doc').AsString:=BlobToString(fnole);
table1.Append;
end;end;
===================================================
procedure TForm1.LoadFromDBClick(Sender: TObject);//从数据库中读出文档
var
FileName:String;
temp:TBlobStream;
begin
temp:=TBlobStream.Create(table1.FieldByName('Doc') as TBlobField,bmRead);
Try
FileName:='c:\temp.doc';
temp.Seek(soFromBeginning,0);
temp.SaveToFile(FileName);《------------这句中的SaveToFile不认识?
OleContainer1.CreateObjectFromFile(FileName,False);
finally
temp.Free;
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货