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

Delphi ems서버 에서 post관련

2019.08.26 20:22

종결자 조회 수:196

안녕하세요.

데브기어 강좌를 보고 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 17270
공지 유용한 관련 사이트 관리자2 2014.03.20 56163
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99584
2579 iOS 인증서 관련문의입니다. [2] silkroad99 2017.10.16 181
2578 idtcpserver 서버 찾기 superman 2016.06.25 182
2577 델파이 설치 시 제품 키 유효기간을 알고싶습니다. [1] 얼짱나 2018.08.13 182
2576 델파이 Rio 버젼 FramedScrollBox 세로스크롤 버그문제 문의합니다. file silkroad99 2018.12.20 182
2575 Datasnap(midas) 사용시 조회 자료를 ADOQuery 에 넣고 싶습니다. [1] 블랙 2019.06.13 182
2574 Delphi7 횟수재한 [1] 모든길 2019.10.08 182
2573 TStackPanel 사용시 문의 사항 입니다. [1] sihwan 2020.07.03 182
2572 TMemo 버그 문의 Celsius 2015.07.09 183
2571 [베를린 웨비나] 버전이 너무 자주 바뀌는데 앞으로의 정책이나 방향에 대한 것은 없나요. 험프리 2016.05.04 183
2570 델파이(또는 C++빌더) 업그레이드 마이그레이션을 하려고 기존 프로젝트를 가져와서 컴파일 한 후 알수없는 오류가 발생합니다. 험프리 2016.08.17 183
2569 안드로이드 빌드 오류 [1] 나는프로그래머! 2017.06.22 183
2568 note component error file 김진석 2018.12.18 183
2567 델파이 10.2 안드로이드 SDK 추가 [1] 마로 2019.02.18 183
2566 XE7 -> XE10.1 프로젝트 실행 시 오류 [1] 생각 2019.02.28 183
2565 Delphi 2010 사용 중 갑자기 예약어에 밑줄이 생겼습니다. [1] file 델파이 2016.01.18 183
2564 안드로이드에서 Free 가 안되는 이유가 왜인가요? [1] 거북이 2015.12.05 183
2563 [REST 웨비나] Linux OS에서 RAD Server 구현 험프리 2020.09.17 183
2562 델파이 Note 컴퍼넌트 오류 [1] file 김진석 2018.12.23 184
2561 안드로이드 디바이스 인식하지 못하고 있어요. [1] file 연금술사 2020.06.19 184
2560 C++Builder classic bluetooth example~~ Xownd 2017.02.17 184