procedure TDriverInfoForm.BitBtn1Click(Sender: TObject); var ImageField:TField; Picture:TPicture;
begin
if OpenPicDlg.Execute then Begin with DataSource.DataSet do try Query.Edit; ImageField := FindField('Pic'); if ImageField <> nil then begin Picture := TPicture.Create; try Query.Edit; Picture.LoadFromFile(OpenPicDlg.FileName); if Picture.Graphic is TBitmap then ImageField.Assign(Picture) else SaveGraphicToBlobField(Picture.Graphic, ImageField); finally Picture.Free; end; end;
except end; End; end;procedure SaveGraphicToBlobField(AGraphic: TGraphic; AField: TField); var BlobStream: TStream; begin if AField is TBlobField then with AField as TBlobField do begin {$IFNDEF DELPHI3} BlobStream := TBlobStream.Create(AField as TBlobField, bmWrite); {$ELSE} BlobStream := DataSet.CreateBlobStream(AField, bmWrite); {$ENDIF} try AGraphic.SaveToStream(BlobStream); finally BlobStream.Free; end; end; end;浏览用dbimage就行了。
一个例程。给我加分啊~~~~~~!!!
var
ImageField:TField;
Picture:TPicture;
begin
if OpenPicDlg.Execute then
Begin
with DataSource.DataSet do
try
Query.Edit;
ImageField := FindField('Pic');
if ImageField <> nil then
begin
Picture := TPicture.Create;
try
Query.Edit;
Picture.LoadFromFile(OpenPicDlg.FileName);
if Picture.Graphic is TBitmap then
ImageField.Assign(Picture)
else
SaveGraphicToBlobField(Picture.Graphic, ImageField);
finally
Picture.Free;
end;
end;
except
end;
End;
end;procedure SaveGraphicToBlobField(AGraphic: TGraphic; AField: TField);
var
BlobStream: TStream;
begin
if AField is TBlobField then
with AField as TBlobField do
begin
{$IFNDEF DELPHI3}
BlobStream := TBlobStream.Create(AField as TBlobField, bmWrite);
{$ELSE}
BlobStream := DataSet.CreateBlobStream(AField, bmWrite);
{$ENDIF}
try
AGraphic.SaveToStream(BlobStream);
finally
BlobStream.Free;
end;
end;
end;浏览用dbimage就行了。