哪位大虾知道将Word文件保存到Access数据库的OLE字段中的方法?高分!!(100分)

  • 主题发起人 主题发起人 kelf
  • 开始时间 开始时间
K

kelf

Unregistered / Unconfirmed
GUEST, unregistred user!
哪位大虾知道将Word文件保存到Access数据库的OLE字段中的方法、以及从Access字段中提取并保存回doc文件的方法?
送400分!!!!
 
Tabl1中有三个字段,其中Col3是文本字段或者Ole字段,当然,如果是备注字段,就不能保存二进制文件了.
代码实验通过。

function DBToDisk(Query_String, Column_Name, Target_Name: string): Boolean;
function DiskToDB(Query_String, Column_Name,Target_Name: string): Boolean;


function TForm1.DBToDisk(Query_String, Column_Name, Target_Name: string): Boolean;
var
l_FileStream: TFileStream;
begin
{从数据库中取出文稿}
with Query1 do
begin
Close;
SQL.Text := Query_String;
Open;
end;

{将数据库中Image字段保存到硬盘下,存为文件}
l_FileStream := TFileStream.Create(Target_Name, fmOpenWrite or fmCreate);
l_FileStream.Position := 0;
TBlobField(Query1.FieldByName(Column_Name)).SaveToStream(l_FileStream);
l_FileStream.Free;

Query1.Close;
Result := True; //所有任务彻底完成,Function返回True
end;

function TForm1.DiskToDB(Query_String, Column_Name,Target_Name: string): Boolean;
var
l_FileStream: TFileStream;
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Text := Query_String;
Open;
end;
Query1.Edit; {直接进入Edit,取消Append}

l_FileStream := TFileStream.Create(Target_Name, fmShareDenyNone);
l_FileStream.Position := 0;

TBlobField(Query1.FieldByName(Column_Name)).loadfromStream(l_FileStream);
Query1.Post;
l_FileStream.Free;

Result := True; //一切任务完成,返回True
end;
 
以流的格式读写
查查前面的问题,太多了
savwtostream
loadfromstream
 
使用流格式,以前贴子多得很
 

Similar threads

后退
顶部