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

Delphi DB에 이미지 등록

2016.01.15 15:46

syc 조회 수:619

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

 

안녕하세요!

모바일로 사진을 찍은후 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 15766
공지 유용한 관련 사이트 관리자2 2014.03.20 54580
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97985
1179 bundle id 기재 방법 datare 2016.01.28 165
1178 jar파일을 사용하기 위하여 java2OP를 사용하는데 에러가 발생합니다. file 권혁상 2016.01.28 217
1177 [Q]Delphi 5, 7의 Oracle 12c 지원 문의 [2] 지롱 2016.01.27 402
1176 OCX 설치가 이상하게 안되요~ 카이로스 2016.01.27 259
1175 Access Violation at address 0040B508... 질문드립니다. ^^ [1] 쭈니쿤 2016.01.22 2901
1174 FormatDateTime 함수 사용시. [3] 공감 2016.01.18 1083
1173 Device Manager에서 Device 추가시.... [1] 황규섭 2016.01.18 128
1172 사용자 지정 텍스트 크기(DPI) 설정. [1] file 김재욱 2016.01.22 1477
1171 Edit options font관련건 [1] file 김하나 2016.01.12 114
1170 Apps must follow the iOS Data Storage Guidelines or they will be rejected silkroad99 2016.01.20 240
1169 fmx에서 다국어 지원하려면?? [3] file 라드 2016.01.18 262
1168 XE8 (VCL)에서는 그림회전 [1] file barcode0 2016.01.18 339
1167 [ldandroid Error] 시애틀 안드로이드 빌드 에러. file RumAndCoke 2016.01.20 237
1166 XE7 컴포넌트 문의 드립니다. sue 2016.01.18 166
1165 바코드 리더기로부터 오는 값을 입력받지 않게 하는 방법 문의요 [1] from5 2016.01.15 293
1164 Delphi 2010 사용 중 갑자기 예약어에 밑줄이 생겼습니다. [1] file 델파이 2016.01.18 179
1163 Android App개발에서 Memo장 내용 File저장하기 [1] 아기사랑 2016.01.18 601
1162 델파이버전업 하면서 이 버그는 고쳐졌을줄 알았는데..... [4] 아놀드 2016.01.04 407
» DB에 이미지 등록 syc 2016.01.15 619
1160 Exception EFilerError in module rtl190.bpl at 000FF30F 에러가 납니다. 쭈니쿤 2016.01.15 363