이 글은 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 7530
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 7280
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 9688
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 14764
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 16477
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 12247
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 31608
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 167202
1220 [10.4 시드니 신기능] 겟잇 패키지 매니저(GetIt Package Manager) 개선 험프리 2020.05.21 468
1219 [10.4 시드니 신기능] 컨트롤 개별 VCL 스타일 적용(Per-Control Style) 적용 험프리 2020.05.19 768
1218 [10.4 시드니 신기능] 새로운 VCL TEdgeBrowser 컴포넌트 험프리 2020.05.18 2097
1217 [10.4] 커스텀 매니지드 레코드(Custom Managed Records) 험프리 2020.05.14 905
1216 [고객 사례- 솔루션, 델파이] Beyond Compare - 데이터, 시스템 비교/병합/관리 프로그램 관리자 2020.05.14 599
1215 델파이, 25년의 혁신 - 버전 1부터 10.3까지 버전별 핵심 기능 [2] 관리자 2020.05.12 1530
1214 [고객 사례- 솔루션, 델파이] AlignMix - 시각화된 세일즈 관리 도구 관리자 2020.05.12 264
1213 [10.4 시드니 신기능] 다시 태어난 '코드 인사이트' [2] file 험프리 2020.05.08 1341
1212 [발표자료] 20200429 델파이 Push 메시지 전송 시스템 구현 방법 with 구글 Firebase [3] file 관리자 2020.05.04 733
1211 헬스케어 분야에서의 델파이 - 코로나에 맞서며 file 김원경 2020.04.29 497
1210 [고객 사례- 의료, 델파이] COVID-19 격리 대상자 상태 관리 앱 관리자 2020.04.28 543
1209 이 달의 기술자료 - 2020년 05월 file 험프리 2020.04.24 288
1208 [사례 소개] 데브기어 마이그레이션 유상 컨설팅 사례 험프리 2020.04.22 382
1207 인터베이스와 FireDac에서 배열필드 사용하기 file 김원경 2020.04.16 320
» 인터베이스, FireDAC 및 TEMSDataSetResource를 사용하여 RAD 서버에서 자동 증가 필드를 생성하는 방법 file 김원경 2020.04.16 323
1205 델파이용 벡터 컨테이너 file 김원경 2020.04.14 573
1204 [프로그래밍 애피타이저] 개발이 처음이거나 비 전공자 분들을 위한 가장 첫 번째 STEP! 관리자 2020.04.13 1949
1203 인터베이스(InterBase) 2020 버전을 사용해야 하는 5 가지 이유 file 김원경 2020.04.09 5876
1202 [프로그래밍 애피타이저] 10장 트랜잭션의 정의 file 김원경 2020.04.09 357
1201 [프로그래밍 애피타이저] 9장 저장프로시저와 트리거 file 김원경 2020.04.09 413