이 글은 Stephen Ball 의 글을 번역한 것으로 인터베이스를 사용한 RAD 서버의 자동 증가 필드는
Stephen Ball의 기술 블로그에서 처음으로 소개되었습니다.
· 본문 링크
인터베이스, FireDAC 및 TEMSDataSetResource를 사용하여 RAD 서버에서 자동 증가 필드를 생성하는 방법
원격 서버에 레코드를 추가하도록 요청할 때 한 가지 주요 기능은 새 레코드 ID 값을 리턴하는 것입니다. 다행이도 TEMSDataSetResource 컴포넌트를 사용한 RAD 서버를 통해 인터베이스 및 FireDAC에서 쉽게 작성 할 수 있습니다.
인터베이스에는 제너레이터(Generators)라는 개념이 있습니다. 제너레이터를 사용하여 기본 키 필드값을 제공하는데 고유한 순차 정수 값을 제공합니다. 인터베이스 데이터베이스에서 최대 32,767 개의 제너레이터를 만들 수 있지만 일반적으로 데이터베이스 용 제너레이터를 만들거나 테이블 당 사용할 제너레이터를 만들고 이름을 지정합니다.
FireDAC 쿼리 업데이트 옵션 AutoInc
FireDAC 프레임 워크는 데이터베이스 필드를 자동 증가 필드로 처리할 수 있는 기능이 있습니다. 자동 중가 필드 데이터 타입이 지원 되지 않는 데이터베이스인 경우, UpdateOptions 속성을 설정하여 제네레이터 및 키 필드를 정의 할 수 있습니다.
- 동영상 보기 : https://youtu.be/d9WCS90-h1Q
비디오에서는 샘플 데이터베이스의 STUDENT 테이블에 사용할 ID를 제공하는 G_STUDENT Generator라는 간단한 예제를
사용합니다.
디자인 타임에서 오브젝트 인스펙터(Object Inspector)에서 쿼리 컴포넌트의 UpdateOptions 속성을 선택합니다. 아래와 같이 2개의 속성을 설정합니다.
- AutoIncFields – 자동 증가를 적용 할 필드를 설정합니다.
- GeneratorName – 열거된 목록(드롭다운메뉴)에서 데이터베이스의 제너레이터 이름을 선택합니다.
TEMSDataSetResource 컴포넌트의 KeyFields 속성을 기본 키 필드 (예 : STUDENT_ID)로 설정합니다.
FieldEditor(쿼리에서 마우스 오른쪽 단추로 클릭하고 필드 편집기 ... 선택)를 사용하여 필드가 일반적인 정수 필드가 아닌 TFDAutoIncField로 설정되어 있음을 확인 할 수 있습니다.
테스트하려면 SwaggerUI 또는 REST 디버거를 사용하십시오. 이 주제에 대해서는 이전에 다른 게시물에서 다루었으므로 여기서는 다시 언급하지 않겠습니다. 비디오에서는 REST 디버거를 사용하여 엔드 포인트를 테스트합니다.