ORACLE 的LONG ROW字段如何存入JPG格式的图片(有代码更好)。(100分)

  • 主题发起人 主题发起人 117924
  • 开始时间 开始时间
1

117924

Unregistered / Unconfirmed
GUEST, unregistred user!
ORACLE 的LONG ROW字段如何存入JPG格式的图片(有代码更好)。
 
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;

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;
 
还有,有控件可以自动识别bmp、jpg、gif(如果有gifImage.pas的话),能够自动保存。
如果需要可以写下email
 
接受答案了.
 
后退
顶部