이 글은 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 15441
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13961
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16499
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22055
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18923
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39255
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174713
26 C++ 빌더 BDE를 FireDAC으로 마이그레이션 자동화 도구 [1] file 험프리 2020.09.10 358
25 인터베이스와 FireDac에서 배열필드 사용하기 file 김원경 2020.04.16 408
» 인터베이스, FireDAC 및 TEMSDataSetResource를 사용하여 RAD 서버에서 자동 증가 필드를 생성하는 방법 file 김원경 2020.04.16 413
23 C++ 개발자를 위한 파이어닥(FireDAC) 시작하기 관리자 2020.01.14 316
22 "모든" 데이터를 프로젝트에 연동하기 - 파이어닥(FireDAC) 엔터프라이즈 커넥터 활용 관리자 2019.09.19 470
21 [FireDac] FDConnection 데이터베이스 Connection 설정 file 김원경 2017.09.01 4555
20 [10.2 도쿄] FireDAC과 데이터베이스 개선 file 김원경 2017.03.23 1200
19 [FireDAC] FireDAC에 대한 궁금증을 FAQ를 통해 해결해 보세요. file 험프리 2017.02.14 509
18 [마이그레이션][FireDAC] MapRules를 적용해 데이터타입 매핑하기 file 험프리 2017.02.07 1018
17 [코드레이지11] FireDAC 이해하기, RAD 스튜디오 데이터 엑세스 프레임워크 선택 - Cary Jensen 험프리 2016.11.24 539
16 FireDAC 성능 비교(BDE, dbGO(ADO), dbExpress, FireDAC) 험프리 2016.08.09 1755
15 [시애틀] FireDAC NoSQL 드라이버로 몽고DB를 완벽 지원합니다. Humphery 2015.09.04 971
14 파이어닥(FireDAC)으로 IBLite 연결 시 "unavaliable database." 오류 발생에 대한 대응 file Humphery 2015.05.15 768
13 [따라하기] reFind 도구를 이용해 BDE 프로젝트를 FireDAC으로 마이그레이션 따라하기 [9] Humphery 2015.04.14 4146
12 [FireDAC Skill Sprints] 8. TFDMemTable: 메모리 기반 데이터셋 사용하기 Humphery 2015.04.06 2506
11 [FireDAC Skill Sprints] 9. LocalSQL: DB에서 가져온 데이터(데이터셋)를 대상으로 다시 SQL쿼리 실행하기 Humphery 2015.04.01 1904
10 [FireDAC Skill Sprints] 7. FireDAC ETL: 데이터 내보내기, 가져오기 기능 구현하기 Humphery 2015.04.01 2122
9 [FireDAC Skill Sprints] 1. FireDAC 소개 험프리 2015.04.01 1580
8 [따라하기] FireDAC으로 오라클(Oracle) DB와 연결하기 험프리 2015.03.24 3044
7 [FireDAC Skill Sprints] 6. 전처리: SQL문을 유연하게 작성할 수 있는 Param와 Macro 사용하기 Humphery 2015.03.13 1683