저도 여러 경우로 수정을 하였는데 첨부파일에 보면 에라가 발생하네요
감사합니다.
또 bmp파일인경우는 처음에 완벽하지는 않지만 저장은 되네요 그리고 2번째 이미지파일을 저장할 경우 검정색으로
변합니다.
첨부파일의 경우는 확장자가 jpg일 경우입니다.
다른방법이나 에라 해결책은 없는지요
With P_a_DataF.Q1 Do Begin
SQL.Clear;
SQL.Text :=' Update Pan41 '+#13+
' Set H_Jpeg = :A_Jpeg '+#13+
' Where H_Hyun = :A_Hyun '+#13;
aMs := TMemoryStream.Create;
A_Jpeg.Picture.Graphic.SaveToStream(aMs);
ParamByName('A_Hyun').AsString := A_Hyun.Text;
ParamByName('A_Jpeg').LoadFromStream(aMs, ftblob);
aMs.Free;
ExecSQL;
end;
박진수 님이 쓰신 글 :
: 도움이 되실런지요..
:
: Screen.Cursor := crSQLWait;
: with aqryBLRM_USERD1 do
: begin
: if(Active) then Close;
: SQL.Clear;
: SQL.Text :=
: ' DELETE FROM BLRM_USERD1 '+#13+
: ' WHERE USERD1_NO = 0'+ txtUSER_NO.Text +' ';
: ExecSQL;
: //-----
: if(imgUSERD1_STAMPIMG.Picture.Graphic <> nil) then
: begin
: if(Active) then Close;
: SQL.Clear;
: SQL.Text :=
: ' INSERT INTO BLRM_USERD1 ( '+#13+
: ' USERD1_NO, '+#13+
: ' USERD1_CLASS, '+#13+
: ' USERD1_STAMPIMG ) VALUES ( '+#13+
: ' 0'+ txtUSER_NO.Text +', '+#13+
: ' 0'+ IntToStr(cmbGRCLASS.ItemIndex) +', '+#13+
: ' :USERD1_STAMPIMG ) '+#13;
: MemoryStream := TMemoryStream.Create;
: imgUSERD1_STAMPIMG.Picture.Graphic.SaveToStream(MemoryStream);
: Parameters[0].LoadFromStream(MemoryStream, ftBlob);
: MemoryStream.Free;
: ExecSQL;
: end;
: end;
: Screen.Cursor := crDefault;
:
:
:
: 이동안 님이 쓰신 글 :
: : 소스는 아래와 같습니다.
: : 확인 해보니 저장자체가 깨진상태로 저장됩니다.
: : 도움좀 부탁합니다.
: : delphi 6.0
: : mysql 3.23.53
: : myisam file
: : c/s환경
: : field type은 blob 또는 longblob으로 하였습니다.
: :
: : /////////////////////////////////////////////////////////////////////////////////
: : procedure TP_i_HyunJangiF.PictureToSave;
: : Var aBmp : TBitmap;
: : aR : TRect;
: : aMS : TMemoryStream;
: : Begin
: : if Not (A_Jpeg.Picture.Graphic = Nil) Then Begin
: : Try
: : aBmp := TBitmap.Create;
: : aBmp.FreeImage;
: : aBmp.PixelFormat := pf24bit;
: : aBmp.Height := A_Jpeg.Picture.Height; //120;
: : aBmp.Width := A_Jpeg.Picture.Width ; //120;
: : aR := Rect(0, 0, aBmp.Width, aBmp.Height);
: : aBmp.Canvas.StretchDraw(aR, A_Jpeg.Picture.Graphic);
: : With P_a_DataF.Q1 Do Begin
: : SQL.Clear;
: : SQL.Add('Update Pan41 ');
: : SQL.Add(' Set H_Jpeg = :A_Jpeg ');
: : SQL.Add(' Where H_Hyun = :A_Hyun ');
: : aMS := TMemoryStream.Create;
: : aMS.Position := 0;
: : aBmp.SaveToStream(aMS);
: : Try
: : ParamByName('A_Hyun').AsString := A_Hyun.Text;
: : ParamByName('A_Jpeg').LoadFromStream(aMS, ftblob); //ftblob를 ftGraphic로 변경도 시도 똑같음
: : ExecSQL;
: : Finally
: : aMS.Free;
: : End;
: : Close;
: : End;
: : Finally
: : aBmp.Free;
: : End;
: : End;
: : end;
|