자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Delphi DB에 이미지 등록

2016.01.15 15:46

syc 조회 수:620

본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------

 

안녕하세요!

모바일로 사진을 찍은후 DataBase에 이미지를 등록하는 어플을 테스트 중인데 잘안돼서 질문드려요~~!!

 

한번에 개발하는 안드로이드/IOS 앱 with 델파이 고급 교제

실습) 만들어봅시다 : 사원정보 실전 앱 따라하기는 잘 되어서

참고하였습니다.

 

DB는 MSSQL을 사용하였고 Server 컴퓨터를 따로 사용해야해서 DataSnap을 이용하였습니다.

 

ServerMethodsUnit1에 Procedure을 만들고

procedure TServerMethods1.Save(AImage: TStream);
begin
  FDQuery1.Edit;

  (FDQuery1.FieldByName('사진') as TBlobField).LoadFromStream(AImage);

  FDQuery1.Post;
  FDQuery1.ApplyUpdates(0);
  FDQuery1.CommitUpdates;
  FDQuery1.Refresh;
end;

 

앱에 배포한 프로젝트의 저장 버튼을 아래와 같이 만들어주었습니다.

procedure TForm6.Button1Click(Sender: TObject);
var
  ImgStream : TMemoryStream;
  Method : TServerMethods1Client;

begin
  ImgStream := TMemoryStream.Create;
  Method := TServerMethods1Client.Create(U_menu.Form1.SQLConnection1.DBXConnection);
  try
    Image1.Bitmap.SaveToStream(ImgStream); //이미지는 actionlist의 카메라기능 버튼으로 사진을 찍은 이미지입니다.
    Method.Save(ImgStream);
  finally
    ImgStream.Free;
  end;
end;

 

저장 버튼 클릭시 에러는 발생하지 않지만 DB에 저장이 되지않습니다...

 

 

///////////

 

그래 다른방법으로

ServerMethodsUnit1에

procedure TServerMethods1.Savett(AImage: TStream; AName: string);
begin

  FDConnection1.StartTransaction;
  try
    with FDQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Text := 'Update Jaje_RegTbl Set 사진=:Image Where 일련번호='+#39+AName+#39;
      ParamByName('Image').AsStream := AImage;
      Execsql;
    end;
    FDConnection1.Commit;
  finally
    FDConnection1.Rollback;
  end;
end;

 

앱에는

procedure TForm6.Button1Click(Sender: TObject);
var
  ImgStream : TMemoryStream;
  Method : TServerMethods1Client;
  ANumber : string;
begin
  ANumber := label1.Text;
  ImgStream := TMemoryStream.Create;
  Method := TServerMethods1Client.Create(U_menu.Form1.SQLConnection1.DBXConnection);
  try
    Image1.Bitmap.SaveToStream(ImgStream);
    Method.Savett(ImgStream, ANumber);
  finally
    ImgStream.Free;
  end;

end;

 

이런식으로 만들어서 저장하니 원래있던 사진은 사라지고 빈 화면만 저장이 됩니다...

교제의 로컬서버에서는 잘 되던데

DataSnap 서버에서는 안되는 건가요??

 

문제점 알려주시면 감사하겠습니다...!!

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15769
공지 유용한 관련 사이트 관리자2 2014.03.20 54583
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98004
2099 XE2 -> XE10 으로 컴파일만 다시했는데...오류가 납니다. 파란하늘 2016.01.13 97
2098 구글 새 OS 안드로이드 N, 5월 공개대해.. 가을이다 2016.01.13 248
2097 (Delphi 10) UPX 압축 문제 [1] 김재욱 2016.01.14 383
2096 XE2에서 SFTP를 사용하려고합니다. 링쿠 2016.01.14 394
2095 Exception EFilerError in module rtl190.bpl at 000FF30F 에러가 납니다. 쭈니쿤 2016.01.15 363
2094 바코드 리더기로부터 오는 값을 입력받지 않게 하는 방법 문의요 [1] from5 2016.01.15 294
» DB에 이미지 등록 syc 2016.01.15 620
2092 FormatDateTime 함수 사용시. [3] 공감 2016.01.18 1093
2091 Device Manager에서 Device 추가시.... [1] 황규섭 2016.01.18 129
2090 fmx에서 다국어 지원하려면?? [3] file 라드 2016.01.18 262
2089 Delphi 2010 사용 중 갑자기 예약어에 밑줄이 생겼습니다. [1] file 델파이 2016.01.18 179
2088 Android App개발에서 Memo장 내용 File저장하기 [1] 아기사랑 2016.01.18 603
2087 XE8 (VCL)에서는 그림회전 [1] file barcode0 2016.01.18 339
2086 XE7 컴포넌트 문의 드립니다. sue 2016.01.18 166
2085 [ldandroid Error] 시애틀 안드로이드 빌드 에러. file RumAndCoke 2016.01.20 237
2084 Apps must follow the iOS Data Storage Guidelines or they will be rejected silkroad99 2016.01.20 240
2083 사용자 지정 텍스트 크기(DPI) 설정. [1] file 김재욱 2016.01.22 1480
2082 Access Violation at address 0040B508... 질문드립니다. ^^ [1] 쭈니쿤 2016.01.22 2903
2081 [Q]Delphi 5, 7의 Oracle 12c 지원 문의 [2] 지롱 2016.01.27 403
2080 RESTClient에서 POST가 안되요!!! [1] 카이로스 2016.01.27 1250