var
jpeg: TJPEGIMAGE;
stream: TMemoryStream;
begin jpeg := TJPEGIMAGE.Create;
stream := TMemoryStream.Create;
tblobfield(Image1.Picture).savetostream(stream);
stream.Seek(0, soFromBeginning);//在这一行停住
jpeg.loadfromstream(stream);
ADOCommand1.CommandText:='INSERT INTO 1(pic) values(:pic)';
ADOCommand1.Parameters.ParamByName('pic').assign(jpeg);
ADOCommand1.Execute;
freeandnil(jpeg);
freeandnil(stream);
end;
jpeg: TJPEGIMAGE;
stream: TMemoryStream;
begin jpeg := TJPEGIMAGE.Create;
stream := TMemoryStream.Create;
tblobfield(Image1.Picture).savetostream(stream);
stream.Seek(0, soFromBeginning);//在这一行停住
jpeg.loadfromstream(stream);
ADOCommand1.CommandText:='INSERT INTO 1(pic) values(:pic)';
ADOCommand1.Parameters.ParamByName('pic').assign(jpeg);
ADOCommand1.Execute;
freeandnil(jpeg);
freeandnil(stream);
end;
ADOCommand1.CommandText:='INSERT INTO 1(pic) values(:pic)';
2
你数据库里加了图象字段吗
Var
JPGImage:TjpegImage;
Bitmap:TBitmap;
Stream : TMemoryStream;
FileName:String;
ExtName: string;
begin
JPGImage:=TJpegImage.Create;
//打开图象文件
if OpenPictureDialog1.Execute Then
begin
FileName:=OpenPictureDialog1.FileName;
ExtName:=AnsiUpperCase(ExtractFileExt(FileName)); //后缀名
//JPGImage加载图象。对两种类型的图象文件:.BMP和.JPG分别处理
if ExtName='.BMP' then
begin
Bitmap:=TBitmap.Create;
Bitmap.LoadFromFile(FileName);
JPGImage.Assign(Bitmap);
JPGImage.Compress; //压缩成JPEG格式
Bitmap.Free;
end;
if ExtName='.JPG' Then
JPGImage.LoadFromFile(FileName);
//JPG图象保存到数据库,要以MemoryStream为中介
Stream:= TMemoryStream.Create ;
JPGImage.SaveToStream(Stream);
table1.append;
table1FileName.asstring:=ExtractFileName(FileName);
table1Blob.LoadFromStream(Stream);
table1.Post;
Image1.Picture.Assign(JPGImage);
Stream.Free ;
end;
end;