See this code:
var
M: TBlobStream;
JPG: TJPEGImage;
begin
...
M := TBlobStream.Create(TBlobField(FieldByName('XX')), bmRead);
JPG := TJPEGImage.Create;
JPG.LoadFromStream(M);
Image1.Picture.Assign(JPG);
我保存JPG时用这句不知对不对啊!
if opdCard.Execute then
begin
if Trim(opdCard.Files[0])<>'' then
begin
imgCard.Picture.LoadFromFile(opdCard.Files[0]);
imgCard.Refresh;
CardQ.FieldByName('CDJPG').Assign(imgCard.Picture);
end;
end;
CardQ.post;
应该可行吧:
if opdCard.Execute then
begin
if Trim(opdCard.Files[0])<>'' then
begin
imgCard.Picture.LoadFromFile(opdCard.Files[0]);
imgCard.Refresh;
//这之前是不是需要edit一下呢???
CardQ.Edit;
CardQ.FieldByName('CDJPG').Assign(imgCard.Picture);
end;
end;
CardQ.post;
对呀,我在最前面有个APPEND的
CardQ.append; //这里
if opdCard.Execute then
begin
if Trim(opdCard.Files[0])<>'' then
begin
imgCard.Picture.LoadFromFile(opdCard.Files[0]);
CardQ.FieldByName('CDJPG').Assign(imgCard.Picture);
--------------------------------------------------
Incorrect, you can't save image data to field like this!!!