ACCESS 表中 的 OLE 中怎么存BMP 用ADO(0分)

  • 主题发起人 主题发起人 gwei
  • 开始时间 开始时间
G

gwei

Unregistered / Unconfirmed
GUEST, unregistred user!
ACCESS 表中的 OLE 中怎么存BMP 用ADO
比如 将 DELPHI 的 IMAGE 中图片 用ADO 存到 ACCESS 数据库中?
 
不会是没有人知道吧 同志们 我没有分了 要是把最好的41分 拿出来就没有分了
怜惜怜惜我的分吧 给我一个答复 OK 谢谢你们了
 
提取TBlob字段:
Image1.Picture.Bitmap.Assign(TBLOBField(AdoTable.Fields[1]))

在TBlob字段中存储
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('insert into Pic values(:Pic)');
AdoQuery1.Parameters.ParamByName('Pic').Assign(Image1.Picture.Bitmap);
AdoQuery1.ExecSQL;
 
这是我程序中的两段,没有修改,是针对SQL Server的。
function TFrmM_Design.DBToDisk(Query_String, Column_Name, Target_Name: string): Boolean;
var
Dot_Stream: TFileStream;
begin
{从数据库中取出文稿}
with aqry_Tmp do
begin
Close;
SQL.Text := Query_String;
Open;
end;

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

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

function TFrmM_Design.DiskToDB(l_missive_name_no, Target_Name: string): Boolean;
var
Dot_Stream: TFileStream;
begin
with aqry_Tmp do
begin
Close;
SQL.Clear;
SQL.Text := 'Select type_dot from s_d_missive where missive_name_no=''' + missive_name_no + '''';
Open;
end;
aqry_Tmp.Edit; {直接进入Edit,取消Append}

Dot_Stream := TFileStream.Create(Target_Name, fmShareDenyNone);

Dot_Stream.Position := 0;

TBlobField(aqry_Tmp.FieldByName('type_dot')).loadfromStream(Dot_Stream);
aqry_Tmp.Post;
Dot_Stream.Free;

Result := True; //一切任务完成,返回True
end;
 
这道题的分数应该是我的吧,程序已经发给你了,哈...
 
怎么又没有分呀,真可惜.
 
接受答案了.
 
后退
顶部