如何向库中一个图片型字段写入数据???急!!!(在线)先谢谢了。(10分)

  • 主题发起人 主题发起人 idym
  • 开始时间 开始时间
I

idym

Unregistered / Unconfirmed
GUEST, unregistred user!
同学让帮他做个同学录,在其中用到了图片,为了保存方便,
我想把它放在一个库中进行管理,在各数据库中提供的都有这个类型的字段类型
可是待我把库建好后,却 不知道怎么向其中加图片类型的数据,各位大虾帮我一下吧!
多谢了!!!!
 
学习。高手也帮我一下!
 
显示BLOB字段的BMP图

(1)直接显示当前记录
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.Bitmap.Assign(Table1Bitmap);
//Table1Bitmap为在Table中添加的字段
end;

(2)直接显示
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.Bitmap.Assign(
TBLOBField(Table1.Fields[1]));
end;
//Image1.Picture.Bitmap.Assign(Table1.Fields[1]);也行

(3)不直接显示
procedure TForm1.Button2Click(Sender: TObject);
var
B: TBitmap;
begin
B := TBitmap.Create;
try
B.Assign(Table1Bitmap);
Image1.Picture.Bitmap.Assign(B);
finally
B.Free;
end;
end;

 
建一个blob类型的字段。
在delphi的query中,将图片作为一个blob参数传入sql。
 
也可以把图片的所在路径存储下来,每次读取该图片即可。
 
楼上的方法速度快,单机版好用。
可是对网络版软件的支持不太好,
特别是单位自己建的广域网,共享目录比较难。。。
 
TBolbField(字段).LoadFromFile('')
 
user jpeg;

procedure Tf_position.btn_loadpicClick(Sender: TObject);
var
i:tbitmap;
j:tjpegimage;
begin
i:=tbitmap.Create;
j:=tjpegimage.Create;
if openpicturedialog1.Execute then
begin
if uppercase(extractfileext(openpicturedialog1.FileName))='.JPG' then
begin
j.LoadFromFile(openpicturedialog1.FileName);
i.Assign(j);
end
else if uppercase(extractfileext(openpicturedialog1.FileName))='.BMP' then
begin
i.LoadFromFile(openpicturedialog1.FileName);
end
else
begin


application.MessageBox('格式错误!',pchar(application.Title),mb_ok+mb_iconinformation);
end;
end;
if not(adoquery1.State in [dsedit,dsinsert]) then adoquery1.Edit;
adoquery1.Fields[3].assign(i);

//或者用tblobfield(adoquery1.fieldvalue[image']).assign(i);
adoquery1.post;
i.Free;
j.Free;
end;
 
后退
顶部