자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15768
공지 유용한 관련 사이트 관리자2 2014.03.20 54583
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97995
713 앱스토아에서 심사 거절 당한 이유를 해결해주세요. [2] file 화이부동 2017.11.07 610
712 [XE8] 64bit 디버깅시 unable to start gdbserver on port '64311' port is already in use 메세지 ? [1] file 다콜 2015.06.18 611
711 FMX에서 설지경로 또는 실행경로를 아는 방법은? [2] 화이부동 2016.08.10 611
710 Datasnap 로 3티어 개발중에 [3] 제트콜 2016.06.16 613
709 안드로이드에서 app 실행 후 백그라운드시 이벤트는 어떻게? [1] devpro 2017.05.05 614
708 안녕하세요. 델파이 10.1 베를린 설치 관련하여 질문 드립니다. [5] file 이즈로즈 2016.12.08 618
707 10.4 버전 DataSnap 연결 에러 질문드립니다. [4] syc 2020.06.25 618
706 Fastreport와 QuickReport중 장기적으로 볼때 어떤게 나은가요? [3] 화이부동 2016.09.12 619
705 윈도우10 에서 BLE 검색 [1] 서영아빠 2016.12.26 619
» DB에 이미지 등록 syc 2016.01.15 620
703 delphi xe7으로 변경하면 롤리팝 버그가 해결되나요 [2] silkroad99 2015.04.07 621
702 Cannot resolve Unit name Winapi.Windows, Winapi.Message 문제 [1] 미스터리 2019.04.11 622
701 TWebBrowser 컴포넌트 관련 사항 [2] 자객 2016.03.22 622
700 규모가 큰 프로젝트에서 코드 작성 시 IDE 응답없음이 자주 발생합니다. file 험프리 2017.01.25 623
699 델파이5에서 Fastreport(*.frf)개발->델파이10에서 (*.fr3)로 변형 방법? [3] 도고래 2016.04.20 624
698 [마이그레이션][델파이5] Excel 컴포넌트[ Servers]가 없어졌어요. file 험프리 2016.06.28 626
697 [BRCC32 Error] "brcc32" exited with code 27. [3] file Dev_기어 2021.05.07 627
696 [XE8 웹세미나] 비콘 센서와 연동하는 방법에 대해 자세히 알고 싶습니다. Humphery 2015.05.13 628
695 델파이는 왜 최소화, 최대화, 끄기 버튼을 새로 만드나요? [3] 엽기토끼이요 2019.03.14 630
694 델파이 중복 폼 방지 질문드립니다. [1] 문여오 2019.05.23 633