이 글은 Stephen Ball 의 글을 번역한 것으로 인터베이스를 사용한 RAD 서버의 자동 증가 필드는 

Stephen Ball의 기술 블로그에서 처음으로 소개되었습니다.

 

·   본문 링크  

https://community.idera.com/developer-tools/b/blog/posts/auto-inc-fields-in-rad-server-with-interbase?utm_source=Eloqua&utm_medium=email&utm_content=Article-200414-InterBaseAutoIncFields

인터베이스, FireDAC 및 TEMSDataSetResource를 사용하여 RAD 서버에서 자동 증가 필드를 생성하는 방법

 

원격 서버에 레코드를 추가하도록 요청할 때 한 가지 주요 기능은 새 레코드 ID 값을 리턴하는 것입니다. 다행이도 TEMSDataSetResource 컴포넌트를 사용한 RAD 서버를 통해 인터베이스 및 FireDAC에서 쉽게 작성 할 수 있습니다.

 

인터베이스에는 제너레이터(Generators)라는 개념이 있습니다. 제너레이터를 사용하여 기본 키 필드값을 제공하는데 고유한 순차 정수 값을 제공합니다. 인터베이스 데이터베이스에서 최대 32,767 개의 제너레이터를 만들 수 있지만 일반적으로 데이터베이스 용 제너레이터를 만들거나 테이블 당 사용할  제너레이터를 만들고 이름을 지정합니다.

 

 

FireDAC 쿼리 업데이트 옵션 AutoInc

FireDAC 프레임 워크는 데이터베이스 필드를 자동 증가 필드로 처리할 수 있는 기능이 있습니다. 자동 중가 필드 데이터 타입이 지원 되지 않는 데이터베이스인 경우, UpdateOptions 속성을 설정하여 제네레이터 및 키 필드를 정의 할 수 있습니다.

 

 

 

비디오에서는 샘플 데이터베이스의 STUDENT 테이블에 사용할 ID를 제공하는 G_STUDENT Generator라는 간단한 예제를

사용합니다.

 

디자인 타임에서 오브젝트 인스펙터(Object Inspector)에서 쿼리 컴포넌트의 UpdateOptions 속성을 선택합니다.  아래와 같이 2개의 속성을 설정합니다.

  • AutoIncFields – 자동 증가를 적용 할 필드를 설정합니다.
  • GeneratorName – 열거된 목록(드롭다운메뉴)에서 데이터베이스의 제너레이터 이름을 선택합니다.

FireDAC_UpdateOptions_AutoInc.png

 

TEMSDataSetResource 컴포넌트의 KeyFields 속성을 기본 키 필드 (예 : STUDENT_ID)로 설정합니다.

 

TEMSDataSetResource_KeyFields1.png

 

FieldEditor(쿼리에서 마우스 오른쪽 단추로 클릭하고 필드 편집기 ... 선택)를 사용하여 필드가 일반적인 정수 필드가 아닌 TFDAutoIncField로 설정되어 있음을 확인 할 수 있습니다.

 

테스트하려면 SwaggerUI 또는 REST 디버거를 사용하십시오. 이 주제에 대해서는 이전에 다른 게시물에서 다루었으므로 여기서는 다시 언급하지 않겠습니다. 비디오에서는 REST 디버거를 사용하여 엔드 포인트를 테스트합니다.

 

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 50146
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 47946
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 50879
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 55808
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 65838
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 51447
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 80662
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 211423
183 [도서/PDF] 한 번에 개발하는 안드로이드&iOS 앱 with 델파이 2편 - 1장. 스마트폰의 정보 사용하기 관리자 2020.02.06 633
182 [10.3 리오] 리눅스 컴파일러에 non-ARC 메모리 모델이 적용됩니다. 험프리 2018.12.04 633
181 [발표자료] 2018022 마이크로서비스 아키텍처 구현과 활용 with RAD서버 file 관리자 2018.02.23 633
180 [10.4 시드니][업데이트 1] 델파이 코드 인사이트 새로운 기능 관리자 2020.09.10 632
179 [도서/PDF] 한 번에 개발하는 안드로이드&iOS 앱 with 델파이 1편 - 8장(실습). 웹서비스를 이용한 음반 정보 앱 [1] 관리자 2020.02.04 628
178 [10.3 리오][업데이트 2] 델파이에서 맥OS 64-bit 애플리케이션 개발이 가능합니다. 관리자 2019.07.25 628
177 MODERNLISTVIEW 라이브러리 – 커스터마이징 가능한 강력한 크로스 플랫폼 라이브러리 활용 방법 관리자 2021.04.06 627
176 [10.2 도쿄] 기타 개선 사항 김원경 2017.03.24 626
175 보안을 주제로 한 가장 훌륭한 컨텐츠 TOP 4 관리자 2021.04.20 625
174 DelphiParser: Conversion Component Suite - 델파이 코드를 최신으로 현대화하는 마이그레이션 도구 관리자 2020.08.28 624
173 이 달의 기술자료 - 2018년 09월 file 험프리 2018.08.31 623
172 겟잇 패키지 매니저를 사용하면 협업을 위한 프로젝트 공유와 전환이 간편해집니다. 험프리 2017.07.07 623
171 [10.4 시드니][업데이트 1] 새로운 TLightweightMREW 레코드 관리자 2020.09.10 622
170 [도서/PDF] 한 번에 개발하는 안드로이드&iOS 앱 with 델파이 2편 - 6장. 파이어몽키 3D 오브젝트와 좌표계 이해 관리자 2020.02.06 622
169 이 달의 기술자료 - 2017년 05월 file 험프리 2017.04.26 622
168 이 달의 기술자료 - 2017년 01월 file 험프리 2016.12.28 622
167 C++ 개발자를 위한 파이어닥(FireDAC) 시작하기 관리자 2020.01.14 621
166 [시애틀] IDE 메모리 개선으로 더 큰 프로젝트를 더 빠르게 코딩하고, 더 빠르게 컴파일 할 수 있습니다. 험프리 2015.10.05 619
165 이 달의 기술자료 - 2020년 08월 험프리 2020.07.30 618
164 [도서/PDF] 한 번에 개발하는 안드로이드&iOS 앱 with 델파이 2편 - 부록 관리자 2020.02.06 618