이 글은 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 14445
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13084
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 15589
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 21115
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 22356
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18000
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 38283
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 173793
1223 [델파이 문법] 클래스와 객체 #16 file 관리자 2012.06.26 6333
1222 [동영상 강의] 델파이 기본 교육_20.스토어드 프로시저 관리자 2012.08.07 6323
1221 RAD Studio XE3와 SQLite 관리자 2012.10.09 6321
1220 인터베이스 (InterBase) 매뉴얼 및 튜토리얼 관리자 2012.06.15 6321
1219 [REST API] 다음 Kakao > 로컬 > 주소검색 연동하기 [2] 험프리 2017.09.18 6275
1218 [세미나자료] 인터베이스(InterBase) in Action, Live! file 관리자 2012.05.10 6258
1217 [C++빌더 XE3 비디오 31] dbExpress와 ClientDataSet을 사용해 SQL 데이터베이스 C++ 파이어몽키 앱 만들기 관리자 2013.01.09 6244
1216 안드로이드 API를 파이어몽키에서 사용하기(Toast 메세지 구현) file Humphery 2013.12.17 6214
1215 [환경설정] 아마존 EC2 이용해 윈도우 서버 환경 구축하기 [1] file 험프리 2017.04.13 6207
1214 [델파이 문법 시리즈] #7. 제네릭 - 클래스 변수, 표준함수 file 관리자 2012.04.02 6207
1213 델파이 에서 안드로이드로 박병일 2012.01.06 6194
1212 파이어몽키 모바일에서 사용자 파일 배포 및 사용 file 험프리 2013.12.27 6188
1211 [동영상강의] 델파이 기본 교육_11.메뉴 작성 컴포넌트 설명 관리자 2012.06.20 6179
1210 RAD스튜디오나 델파이만으로 (별도 맥 컴퓨터 없이) 아이폰 앱을 만들고 앱스토어에 올릴 수 있습니다. 관리자 2013.05.30 6158
1209 David I의 31 XE3 퀵 비디오 - 윈도우8 스타일 사용하기 관리자 2012.10.08 6155
1208 [동영상강의] 델파이 기본 교육_14.메모장 만들기3 (스프래쉬 화면과 리포지토리) 관리자 2012.07.06 6155
1207 PrintDialog 를 사용하지 않고 프린트 하기 박병일 2011.12.22 6150
1206 [델파이 문법] 프로시저와 함수 #7 file 관리자 2012.08.13 6127
1205 [10.2 도쿄] 델파이/C++빌더 리눅스 개발환경 설정하기 [1] file 험프리 2017.02.21 6107
1204 [델파이 문법] 문법 요소 #13 file 관리자 2012.11.20 6104