错误是:stack overflow
var
strm:tmemorystream;
ext:string;
begin
dm.materialcds.append;
strm:=tmemorystream.Create;
if image1.picture.Graphic <> nil then
begin
ext:=extractfileext(openpicturedialog1.FileName ); //取出文件的扩展名
image1.Picture.Graphic.SaveToStream(strm);
strm.Position :=0;
tblobfield(dm.MaterialCDS.FieldByName('图片')).LoadFromStream(strm);
if uppercase(ext) = '.BMP' then
dm.MaterialCDS.FieldByName('isbmp').Value := 1
else if (uppercase(ext) = '.JPG') OR ( uppercase(ext) = '.JPEG') Then
dm.MaterialCDS.FieldByName('isbmp').Value := 0;
end;
dm.MaterialCDS.ApplyUpdates(0);
strm.Free;
end;
读图片
var
strm:tadoblobstream;
jpegimage:tjpegimage;
bitmap:tbitmap;
strm := tadoblobstream.Create(tblobfield(dm.severADOQ1.FieldByName('图片')),bmread);
try //try1
//strm.position :=0;
xzcailiaoform.image1.Picture.Graphic := nil;
if dm.MaterialCDS.FieldByName('isbmp').AsString ='1' then //BMP型图像数据
begin //begin11
bitmap := tbitmap.Create ;
try //try11
bitmap.LoadFromStream(strm);
xzcailiaoform.image1.Picture.Graphic := bitmap;
finally
bitmap.Free;
end; //end try11
end
else if dm.severADOQ1.FieldByName('isbmp').asstring ='0' then //JPEG型图像数据
begin //begin12
jpegimage := tjpegimage.Create ;
try //try12
jpegimage.LoadFromStream(strm);
xzcailiaoform.image1.Picture.Graphic := jpegimage;
finally
jpegimage.Free ;
end; //end try12
end; //end begin12
finally
strm.Free ;
end; //end try1
错误是:stack overflow
var
strm:tmemorystream;
ext:string;
begin
dm.materialcds.append;
strm:=tmemorystream.Create;
if image1.picture.Graphic <> nil then
begin
ext:=extractfileext(openpicturedialog1.FileName ); //取出文件的扩展名
image1.Picture.Graphic.SaveToStream(strm);
strm.Position :=0;
tblobfield(dm.MaterialCDS.FieldByName('图片')).LoadFromStream(strm);
if uppercase(ext) = '.BMP' then
dm.MaterialCDS.FieldByName('isbmp').Value := 1
else if (uppercase(ext) = '.JPG') OR ( uppercase(ext) = '.JPEG') Then
dm.MaterialCDS.FieldByName('isbmp').Value := 0;
end;
dm.MaterialCDS.ApplyUpdates(0);
strm.Free;
end;
读图片
var
strm:tadoblobstream;
jpegimage:tjpegimage;
bitmap:tbitmap;
strm := tadoblobstream.Create(tblobfield(dm.severADOQ1.FieldByName('图片')),bmread);
try //try1
//strm.position :=0;
xzcailiaoform.image1.Picture.Graphic := nil;
if dm.MaterialCDS.FieldByName('isbmp').AsString ='1' then //BMP型图像数据
begin //begin11
bitmap := tbitmap.Create ;
try //try11
bitmap.LoadFromStream(strm);
xzcailiaoform.image1.Picture.Graphic := bitmap;
finally
bitmap.Free;
end; //end try11
end
else if dm.severADOQ1.FieldByName('isbmp').asstring ='0' then //JPEG型图像数据
begin //begin12
jpegimage := tjpegimage.Create ;
try //try12
jpegimage.LoadFromStream(strm);
xzcailiaoform.image1.Picture.Graphic := jpegimage;
finally
jpegimage.Free ;
end; //end try12
end; //end begin12
finally
strm.Free ;
end; //end try1
错误是:stack overflow
image1.Picture.Graphic.SaveToStream(stream);
adoquery1.Insert;
TBlobField(adoQuery1.FieldByName('insertpic')).loadfromstream(stream);
adoQuery1.post;
query:=TADOQuery.Create(nil);
query.Connection:=frmmain.ADOConnection1;
query.Close();
query.SQL.Add('SELECT * FROM jb700 where PERSONID='+quotedstr(trim(staffid)));
query.Open();
query.Edit();
stream:=TmemoryStream.Create();
stream.LoadFromFile(FileDIR+'tmp\'+staffid+'.jpeg');
TBlobField(query.FieldByName('photo')).LoadFromStream(stream);
query.Post();
query.Close();
FreeAndNil(stream);
FreeAndNil(query);
msgbox('图片保存成功!!!');这是下载:
if trim(vartostr(query.FieldByName('photo'AsVariant))<>'' then
begin
TBlobField(query.FieldByName('photo')).SaveToFile(filename);
end;