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

Delphi ems서버 에서 post관련

2019.08.26 20:22

종결자 조회 수:364

안녕하세요.

데브기어 강좌를 보고 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 39911
공지 유용한 관련 사이트 관리자2 2014.03.20 79436
1569 FMX REST 오류에 대해 문의 드립니다. [2] 호홍호 2018.05.12 372
1568 Delphi XE 10.2.3 의 TLineTransitionEffect.OffsetProp 의 Getter, Setter 에 버그가 있습니다 [1] DarkRyu 2019.05.08 372
1567 TFDMemTable ios 에서 한글문제 있나요? [3] kerry 2015.10.28 372
1566 [시애틀 출시세미나] Uses절에 없는 유닛의 함수를 사용하면 구문오류가 나는데요. 자동으로 Uses절에 추가할 수 없나요? Humphery 2015.09.11 373
1565 FireDAC Reconnect 기능 [2] 아폴로 2016.04.20 373
1564 시간 또는 분을 추가하고 싶어요. 험프리 2018.07.31 373
1563 c++프로그램 델파이로 교체할 시 문제점 문의드립니다. [2] 앙소이 2019.07.31 373
1562 IOS 앱실행관련 문의사항입니다. ( 디바이스 연결 관련 2번째) [2] 궁금한사람 2019.09.10 373
1561 10.3.3 samples 프로그램 FlashLight을 돌리면 오류가 납니다. [4] 델파이-앱 2020.02.19 373
1560 DATASNAP - CALLBACK 관련 문의 드립니다. [2] 담더기 2017.03.25 373
1559 tStringGrid 버그 확인 요청 [1] 조성긍1 2016.02.01 373
1558 XE8/XE10 DATASNAP SERVER 연결관련문의 (MARSHMALLOW) [1] 김하나 2016.03.16 373
1557 [문의] Cannot Run on an Android Device or Emulator 오류 입니다 [2] file delphi 2017.09.06 374
1556 사용자가 3명 정도인데, 2티어로 모바일앱을 구성해도 괜찮을까요 ? [1] 막스뮐러 2020.04.29 374
1555 rio 10.3 에서 TShellTreeView 를 사용하는 방법 [1] 닉네임없음 2019.01.26 374
1554 xe8 에서 tbluetoothledevice에서 onconnect, ondisconnect 이벤트 [1] jojo 2016.03.03 374
1553 DataSnap 구조에서 미들서버로 파라미터 보낼 때 생기는 문제 superman 2016.09.03 375
1552 델파이 xe7 로딩시 오류 [1] file chchchchchch 2018.01.04 376
1551 Datasnap(midas) 사용시 조회 자료를 ADOQuery 에 넣고 싶습니다. [1] 블랙 2019.06.13 376
1550 [XE8 출시세미나] 멀티-디바이스를 지원하기 위해 FMX로 넘어가려고 합니다. 과도기에 VCL 과 FMX를 섞어서 사용할 수 있나요? 관리자 2015.04.30 376