Q&A

  • Oracle에 image 데이타 저장한 후 부르기
저장 형식은 BLOB타입 을 사용하엿으며
저장 시 에 stream형식을 사용하여 저장 하였습니다.
저장은 잘되는데 이걸 다시 디비그리드 클릭시 image 컴포넌트에 뿌려 줄려고 하는데 잘 안됩니나.
소스 좀 봐주시고 고수님의 조언 바랍니다.

=========== 저장 프로시져 ================================
procedure TFImageSave.Imageinsert;
var
  pic : TMemoryStream;
begin
  try
    pic := TMemoryStream.Create;
    Image1.Picture.Graphic.SaveToStream(pic);
    pic.Position := 0;
    with QImgSave do
    begin
      Close;
      SQL.Clear;
      SQL.Add('INSERT INTO TEMP_IMAGE (IMAGE_NAME, IMAGE_TYPE, IMAGE_DATA)');
      SQL.Add('VALUES (:N1,:N2,:N3)');
      ParamByName('N1').AsString := Edit4.Text;
      ParamByName('N2').AsString := Edit5.Text;
      ParamByName('N3').LoadFromStream(pic,ftBlob);
      ExecSQL;
    end;
  finally
    pic.Free;
  end;
end;

============= 호출 프로시져 (??) ============== 이부분이 막힘니다.

procedure TFImageSave.DBGrid1CellClick(Column: TColumn);
var
  pic : TMemoryStream; // stream으로 변환해서 보여줘야하는건지 아니면 다른 방법이 잇는건지도 궁금합니다.
begin
  try
    pic := TMemoryStream.Create;
    
    with QImgSave do
    begin
      Edit4.Text := Fields[0].AsString;
      Edit5.Text := Fields[1].AsString;
    //  image1.Picture.Graphic.LoadFromStream(QImgSave.FieldByName('IMAGE_DATA')); 여기서 보여줘야 하는데 잘 안됩니다.
    //  Image1.Picture.Graphic.LoadFromStream(pic);
    end;
  finally
//    pic.free;
  end;
end;

======================= 도움 부탁드립니다. =========================
1  COMMENTS
    • 바다를향해
      2002.07.18 12:40
      혹시 ShellExecute 말구요 i := Winexec('explorer.exe mailto:kst007@netian.com', SW_HIDE); 이걸 사용...
    • 장태원
      2002.07.16 05:23
      무슨 에런진 해석할수가 없네용.ㅠㅡ; project 파일에 해당 프로그램이 선언되어 있는지? 또..mdichi...
    • 배경
    • 2002.07.16 03:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.07.16 05:39
      CHKIO 에 RTRIM 한번 해보심이..
    • 이동현
    • 2002.07.16 03:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 정종우
      2002.07.24 02:17
      오른쪽 껏을 눌렀는데 아무런 응답이 없는상태(101키)라면 오른쪽 키를 지원하는 드라이버(106키)로 바꿨...
    • 한원희
      2002.07.16 04:28
      음냐, CTRL 키가 눌렸을 때, Enter키가 눌린것 처럼 동작해야할 일이 있나요? 음... 별로 추천할 만한 일...
    • 장영철
    • 2002.07.16 02:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.07.16 05:38
      US7ASCII 이거 때문이 아닐까 싶네요..language드라이버를 kor....로 바꿔주셔 보심이...
    • 최용일
      2002.07.16 03:21
      안녕하세요. 최용일입니다. 소수가 뭔지만 알면 금방 할 수 있는건데... 1하고 자기자신으로만 나누...
    • 도리도리
      2002.07.16 21:46
      네..답변 주셔서 감사합니다..그런데 제가 공부하는 입장이기에 무작정 님께서 오려주신 내용을 보고 할...
    • 최용일
      2002.07.16 23:15
      100이하의 소수를 구하니까 루프변수는 100까지가 되겠구요... 모든 수가 1로 나누어 지니까 1은 제외하...
    • 권대경
    • 2002.07.16 02:14
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.07.16 04:42
      TValueListEditor 로는 비슷하기는 해도 불가능하지 않나요? 제가 사용해본 컴포넌트 중에 FlyTree 라는...
    • 권대경
      2002.07.17 02:21
      좋은 정보 주셔서 감사합니다. 님의 말대로 TValueListEditor로는 구현이 불가능한 것  같...
    • 장태원
      2002.07.16 05:35
      DBCtrlGrid 에서 컴퍼넌트 올려놓으실때..한 레코드 안에 다 넣어주세요. 마치 한레코드를 보이기에는 ...
    • 곽충열
      2002.07.16 06:11
      답변 감사드립니다. 근데 문제는 레코드 개수가 정해져 있지 않거든요.. 제 경우 Row가 다섯개가 생...
    • 김길명
    • 2002.07.16 02:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.16 02:33
      안녕하세요. 최용일입니다. 검색해보시면 있는데... 쩝~ Re: 법인번호가 올바른지 체크하는 방법...
    • 한원희
      2002.07.16 04:38
      일단 포커스를 갖을 수 있는 컨트롤은 TWinControl 에서 상속받은 것만 가능하기 때문에 다음과 같이 코딩...
    • 홀로서기
      2002.07.16 18:38
      잘 되네여 ~ ~ 델파이 초보라서 알고시픈건 많은데... 주변에 도와주는 사람은 없고 ㅠㅠ 여기와서 많은...
    • 최용일
      2002.07.16 02:27
      안녕하세요. 최용일입니다. 리스트같은 걸 써서 프로세스 리스트를 관리하시면 될거같은데요... Crea...
    • 김동광
      2002.07.16 03:25
      sub process는 코딩으로 CreateProcess함수로 만드는 것이 아니구요! CreateProcess함수에 의해 생성된 p...
    • 최용일
      2002.07.16 04:02
      전체 프로세스 리스트를 루프를 돌면서 갱신하면서 검색하시다가 원하시는 서브프로세스가 검색되어질때 그...
    • 최용일
      2002.07.16 00:45
      안녕하세요. 최용일입니다. FormatDateTime을 이용해보세요... var     MyDateTi...
    • * 아자!! *
      2002.07.16 02:06
      StrToDateTime(FormatDateTime('YYYY-MM-DD opensi + ":" +openbun', Now)); 이런식으로 하면 될것 같은데...
    • 최용일
      2002.07.16 02:22
      쩝~ StrToDateTime( FormatDateTime('YYYY-MM-DD ' + OpenSi + ':' + OpenBun + ':00', Now) ); ^^ ...
    • 김진만
    • 2002.07.15 22:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.07.16 05:42
      Stream 말고.. assign 이나 value를 사용해보심이..ㅡㅡ;
    • 휴초보
    • 2002.07.15 22:37
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.16 00:46
      안녕하세요. 최용일입니다. 자료실에 있는 G32컴포넌트를 써보세요... 레이어 기능 지원합니다. 거기...
    • 김진혁
      2002.07.16 01:28
      무식한 방법이지만...아주 쉬운 방법이 있습니다... 이미지 컴포넌트를 계속해서 씌우는 것이죠,... 이미...
    • 이지태
    • 2002.07.15 21:57
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 오정민
      2002.07.16 07:43
      property에서 WindowState 을 wsMaximized 로 하면 되지 않을까여... 오늘 하루도 즐거운 하루되세요.
    • 머슴
      2002.07.15 22:33
      스크린 상관없이 항상 일정한크기로 폼을 띄우는 방법입니다.. implementation const ScreenWidth:Lo...
    • 장태원
      2002.07.16 05:37
      혹시...윈도우계정을 상속시켜놨는지 궁금하군요. 예를 들어 서버에 administrator 만 허용시켰고. ...
    • 손동언
    • 2002.07.15 21:24
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      2002.07.15 22:38
      Delete라는 Method가 있습니다. 예를 들면 ListBox1.Items.Delete(지우고 싶은 아이템); 이라고 하면 ...
    • 블랙썬
      2002.07.15 21:33
      //선택된거만 삭제 ListBox1.DeleteSelected; //Listbox 아이템 인덱스로 삭제 ListBox1.Items.Dele...
    • 한원희
      2002.07.15 21:31
      마지막 줄을 삭제하시려면, ListBox1.Items.Delete(ListBox1.Items.Count-1); 이렇게 하시면 됩니다....
    • 머슴
      2002.07.15 22:27
      DLL의 폼을 생성할때 소유자를 nil로 하지마시고요.. Application으로 한번 해보세요...
    • 최용일
      2002.07.16 01:00
      안녕하세요. 최용일입니다. 스트링그리드의 OnKeyDown이벤트에서 아래와 같이 코딩해보세요... 참고...