数据库用BLOB字段如何存储JPG图?(6分)

  • 主题发起人 主题发起人 yjwnnit
  • 开始时间 开始时间
Y

yjwnnit

Unregistered / Unconfirmed
GUEST, unregistred user!
在数据库中,建立一个BLOB字段,就可以存图了, 对不对? 请问在
ORACLE下如何存JPG图?
请给出, 一个存储图的过程,  还要一个在BLOB中调出图的过程。
 
查一下离线数据库
很多的
 
我不是在问题中说了吗? 我要求要实例。 对ORACLE 存与读JPG图的实例!!


实例!!!! 源码!!! (“不要再发表什么到网上找!!!有很多!!!” 我不喜欢听这些)
 
没人给出回答, 高手们都去哪了?
 
没人给出回答, 高手们都去哪了?
 
没人给出回答, 高手们都去哪了?
 
你这问问题的方法实在比较那个,好了,用下面的代码就可以了:
假设字段名为TP。
(TP as TBlobField).LoadFromFile('tpwj.jpg');

(TP as TBlobField).SaveToFile('tpwj.jpg');
如果你要直接显示,用LoadFromStream和SaveToStream代替。
 
我这有个例子:用Image存储和显示!
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DB, ADODB, Grids, DBGrids, Menus,Jpeg;

type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Image1: TImage;
PopupMenu1: TPopupMenu;
LoadPic: TMenuItem;
deletepic: TMenuItem;
saveAs: TMenuItem;
procedure LoadPicClick(Sender: TObject);
procedure deletepicClick(Sender: TObject);
procedure saveAsClick(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.LoadPicClick(Sender: TObject);
var
pic:TPicture;
jpeg:TJPEGImage;
begin
datasource1.dataset.edit;
if(opendialog1.Execute) then
begin
pic:=tpicture.Create;
jpeg:=TJPEGImage.Create;
try
pic.LoadFromFile(opendialog1.FileName);
if pic.Bitmap.Empty=false then
jpeg.Assign(pic.Bitmap)
else
jpeg.loadfromfile(opendialog1.FileName);
datasource1.dataset.fieldbyname('photo').assign(jpeg);
finally
pic.Free;
jpeg.free;
end;
end;
end;

procedure TForm1.deletepicClick(Sender: TObject);
begin
datasource1.dataset.edit;
datasource1.dataset.fieldbyname('photo').assign(nil);
datasource1.dataset.post;
end;

procedure TForm1.saveAsClick(Sender: TObject);
begin
if(savedialog1.Execute)then
image1.Picture.Graphic.SaveToFile(savedialog1.FileName);
end;

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
var
jpeg:TJPEGImage;
begin
if datasource1.DataSet.FieldByName('photo').IsNull=false then
begin
jpeg:=tjpegimage.create;
try
jpeg.assign(datasource1.DataSet.FieldByName('photo'));
image1.Picture.Assign(jpeg);
finally
jpeg.free;
end;
end
else
image1.Picture.Assign(nil);
end;

end.

 
后退
顶部