도움이 되실런지요..
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;
|