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

Delphi ems서버 에서 post관련

2019.08.26 20:22

종결자 조회 수:357

안녕하세요.

데브기어 강좌를 보고 ems 서버를 하고 있는 중입니다.

 

강좌를 보면 ems 서버를 만든다음 get은 했는데 post가 안되서요.

get부분을 보면 

 

procedure THamletResource1.Get(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);

const

  SQL_LIST ='SELECT MAIL_ADDRESS,PWD,ADDRESS,SEX FROM USER_TEST';

var

  Writer : TJsonObjectWriter;

begin

  qryHamlet.Close;

  qryHamlet.SQL.Text := SQL_LIST;

  qryHamlet.Open;

 

 

   Writer := TJsonObjectWriter.Create;

 

  try

 

    Writer.WriteStartObject; // start resource

    Writer.WritePropertyName('Hamlet');

 

 

    Writer.WriteStartObject; // start item

    Writer.WritePropertyName('total');

    Writer.WriteValue(qryHamlet.RecordCount);

 

 

 

    Writer.WritePropertyName('Hamlet');

    Writer.WriteStartArray;

 

    qryHamlet.First;

    while not qryHamlet.Eof do

    begin

      Writer.WriteStartObject;

      Writer.WritePropertyName('MAIL_ADDRESS');

      Writer.WriteValue(qryHamlet.FieldByName('MAIL_ADDRESS').AsString);

 

      Writer.WritePropertyName('PWD');

      Writer.WriteValue(qryHamlet.FieldByName('PWD').AsString);

 

      Writer.WritePropertyName('ADDRESS');

      Writer.WriteValue(qryHamlet.FieldByName('ADDRESS').AsString);

 

      Writer.WritePropertyName('SEX');

      Writer.WriteValue(qryHamlet.FieldByName('SEX').AsString);

 

      Writer.WriteEndObject;

      qryHamlet.Next;

 

    end;

 

 

    Writer.WriteEndArray;

 

    Writer.WriteEndObject;  // end item

    Writer.WriteEndObject;  // end resource

 

    // Sample code

    AResponse.Body.SetValue(Writer.JSON as TJSONValue, True);

 

  except

    Writer.Free;

    raise;

 

  end;

 

위와같이 하면 데이터가 json 형태로 잘나옵니다.

그런데 post를 하면 에러도 안되고 잘 처리 됐다고 하는데 

rest debugger 에 헤더 부분에 

Connection=close

Date=Mon, 26 Aug 2019 11:10:09 GMT

Content-Length=0

이렇게 나오는데 테이블을 뒤져보면 인서트가 되지 않습니다.

 

그리고 디버깅을 할려고 브레이크를 걸어도 그자리가 디버깅이 안됩니다.

 

참고로  post 부분은 

 

procedure THamletResource1.Post(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);

const

  SQL_ITEM_INSERT = 'INSERT INTO USER_TEST( MAIL_ADDRESS,PWD) '+' values (:mail_address,:pwd ) ';

var

  mail_address,pwd : String;

  Json : TJSONValue;

begin

  Json := ARequest.Body.GetValue;

 

  mail_address := Json.GetValue<string>('HAMLET.MAIL_ADDRESS');

  pwd := Json.GetValue<string>('HAMLET.PWD');

 

 

 

    qryHamlet.Close;

    qryHamlet.SQL.Text := SQL_ITEM_INSERT;

    qryHamlet.ParamByName('mail_address').AsString := mail_address;

    qryHamlet.ParamByName('pwd').AsString := pwd;

    qryHamlet.ExecSQL;

 

 

end;

 

이렇게 했습니다.

근데 get에서는 디버깅 브레이크가 되는데 왜 post에서는 안될까요?

그리고 위 post는 왜 동작을 했는데도 불구하고 테이블에 입력이 안될까요??

 

위 내용에 답변 부탁 드립니다. 그럼 수고하세요.

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 39602
공지 유용한 관련 사이트 관리자2 2014.03.20 79101
2472 델파이 xe7 로딩시 오류 [1] file chchchchchch 2018.01.04 374
2471 LocationSensor 관련 문의 - GPS 없음 [3] 소란코더 2018.01.17 374
2470 [XE8 웹세미나] 웹 환경의 업무 프로젝트 개발이 얼마나 편리한가요? Humphery 2015.05.13 374
2469 [XE8] 모바일개발시 스크롤뷰 감도 낮추는 방법 [1] 가을이다 2015.10.07 374
2468 안드로이드 개발시 IDE 에러 확인 좀 부탁 드립니다. max 2020.08.24 374
2467 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 14 - Exercise 1 [1] 관리자 2016.05.10 375
2466 넥서스7 이 타겟 디바이스로 잡히지 않습니다. [1] 발란드레 2018.08.20 375
2465 Uses Permissions Target [3] file 헌터 2018.12.06 375
2464 FireDAC에서 검색후, 검색 결과만 DBGrid 에 업데이트는 어떻게 하나요? [1] 하루 2019.01.29 375
2463 [XE8 출시세미나] 멀티-디바이스를 지원하기 위해 FMX로 넘어가려고 합니다. 과도기에 VCL 과 FMX를 섞어서 사용할 수 있나요? 관리자 2015.04.30 375
2462 평가판 사용중 문제발생으로 문의 드렸던 내용입니다. [3] file 나도몰라 2015.10.28 375
2461 [마이그레이션 세미나] 마이그레이션 시 발생했던 주요 이슈에 대한 다양한 사례를 좀 더 전달해 주시면 좋겠습니다. [1] 험프리 2015.11.24 375
2460 Application Store 로 컴파일 하면 다음과 같은 에러가 나옵니다. [3] kerry 2016.02.18 375
2459 FMX 안드로이드 개발시 폰트리스트 가져오는 방법? Firemonkey 2020.10.13 375
2458 [XE8] 컴포넌트 동적생성이 오동작합니다. [1] 가을이다 2015.10.30 375
2457 FDEventAlerter1 사용법 문의 [4] file 모나도 2016.10.24 376
2456 델파이 도쿄 git 브랜치 선택 [1] 나즈나 2017.06.24 376
2455 JAR를 임포팅하여, 인터페이스로 구현된 콜백함수를 호출하지 못하고 있습니다. [2] 조르디 2018.03.27 376
2454 BLE / IdHTTP 사용법 [1] 권동한 2020.04.07 376
2453 C++ Builder로 개발시 시큐어 코딩 진단도구로 분석을 할수 있나요? 데브기어만세 2015.11.10 376