섹션 3 ADO( ActiveX Data Objects) 프로그래밍 모델
"Delphi에서 ADO 소개" 기사에 설명된 대로 ADO는 이메일 및 파일 시스템과 같은 데이터베이스에 액세스할 수 있는 COM(구성 요소 개체 모델) 구성 요소(DLL) 세트입니다. ADO를 사용하여 작성된 응용 프로그램에는 BDE가 필요하지 않습니다. ADO를 사용하여 다양한 데이터베이스에 액세스하려면 ADO/OLE DB(Object Linking and Embedding) 라이브러리가 필요합니다. ADO를 사용하는 데 필요한 것이 컴퓨터에 이미 존재할 수 있습니다. 이러한 파일은 Microsoft에서 Windows 98/2000의 일부로 배포합니다. Windows 95 또는 NT를 사용하는 경우 ADO 엔진을 배포하거나 설치해야 할 수도 있습니다. Delphi 5 CD에는 MDAC-Microsoft Data Access Components용 설치 파일이 포함되어 있습니다. Microsoft 공식 웹사이트에서 제공되는 최신 버전의 MDAC를 사용하고 있는지 확인해야 합니다. MDAC는 Universal Data Access를 작동시키는 핵심 기술입니다. 여기에는 ADO(ActiveX 데이터 개체), OLE DB 및 ODBC(개방형 데이터베이스 연결)가 포함됩니다.
참고: Windows 95 컴퓨터에 MDAC를 올바르게 설치하려면 DCOM95(Distributed Component Object Model)를 설치해야 합니다. 적절한 등록을 위해 MDAC에서 설치한 구성 요소는 DCOM95에서 설치한 DLL에 따라 달라집니다. NT4.0에서는 DCOM95가 필요하지 않습니다. Windows를 실행하는 컴퓨터에 DCOM을 설치할 필요가 없는 경우도 있습니다. 하지만 설치되어 있지 않은 경우에는 MDAC를 설치하기 전에 DCOM98을 설치해야 합니다.
OLE DB와 ADO에 대해 너무 많이 논의할 필요는 없습니다. 좀 더 실용적인 문제로 넘어가겠습니다.
ADO 개체
ADO 프로그래밍 모델은 다양한 데이터 개체에 액세스하기 위한 다양한 방법을 제공하는 여러 ADO 개체를 중심으로 구축되었습니다. 이러한 개체는 데이터 원본에 연결하고, 레코드 집합을 쿼리 및 업데이트하고, 오류를 보고하는 기능을 제공합니다. Delphi는 여러 VCL 구성 요소를 통해 캡슐화된 구성 요소를 통해 이러한 객체에 액세스합니다. ADO와 함께 작동하는 개체를 살펴보겠습니다.
연결 문자열을 통해 데이터 소스에 연결하는 Connection 개체입니다. BDE/Delphi에서 연결 개체는 데이터베이스 구성 요소와 세션 구성 요소의 조합입니다.
Command (명령) 개체를 사용하면 데이터 소스를 조작할 수 있습니다. 데이터베이스 데이터 추가, 삭제, 쿼리 또는 업데이트를 처리할 수 있는 명령(쿼리 또는 명령문으로도 간주됨)에 대해 설명합니다.
Recordset (레코드 세트) 개체는 쿼리(Query) 명령의 결과입니다. Recordset을 델파이의 테이블(Table) 컴포넌트나 쿼리(Query) 컴포넌트로 생각하면 됩니다. Recordset 에서 반환된 각 행에는 여러 Field 개체가 포함되어 있습니다.
ADO 모델에 존재하는 다른 개체로는 Field 개체, Parameter 개체 및 Error 개체가 있습니다. 이에 대해서는 다음 장에서 다시 설명하겠습니다.
섹션 4 ADOExPRess를 사용하여 데이터베이스에 연결
ADOExpress 컬렉션의 각 구성 요소에 대해 간략하게 설명하기 전에 먼저 Access 데이터베이스에 연결하는 방법을 이해하겠습니다. 물론, 우리는 샘플 데이터베이스인 AboutDelphi.mdb(번역가의 추가: 이전 장에서 생성된 데이터베이스)에 연결할 것입니다.
Delphi(5)는 주로 컴포넌트 패널의 ADO 페이지에 있는 ADOExpress 컴포넌트를 통해 ADO를 지원합니다. 이 과정에서는 몇 가지 다른 데이터베이스 지원 구성 요소가 사용됩니다. 지금은 ADO를 사용하여 Access 데이터베이스에 액세스하는 데 필요한 최소한의 구성 요소 집합에 중점을 둘 것입니다.
Delphi를 실행하고 빈 양식으로 새 애플리케이션을 만듭니다.
ADO 및 Delphi를 통해 Access 데이터베이스 데이터에 액세스하려면 프로젝트에 데이터 인식 구성 요소를 세 개 이상 추가해야 합니다. 첫 번째는 테이블이나 쿼리를 통해 얻은 레코드를 찾는 데 사용되는 DataControls 구성 요소 페이지의 DBGrid입니다. 두 번째는 데이터 세트와 양식의 DBGrid 구성 요소를 연결하는 데 사용되는 DataSource(DataAccess 데이터 액세스 페이지)로, 잠재적인 데이터 세트 데이터의 실현, 탐색 및 편집을 실현합니다. 마지막으로 ADO 데이터베이스에서 얻은 테이블을 묘사하는 ADOTable(ADO 페이지)이 있습니다. 폼(Form)에 모두 드래그 앤 드롭하면 컴포넌트 이름은 기본값을 사용하게 됩니다. 이제 양식은 다음과 같아야 합니다.
지금 프로그램을 실행하면 그리드에 데이터가 표시되지 않습니다. 물론 실제로 데이터베이스에 연결되어 있지 않기 때문입니다. 또 다른 점에 유의하세요. 그리드만 표시되고 다른 두 구성 요소는 컨트롤이 표시되지 않습니다.
구성 요소 간 연결
데이터베이스의 데이터를 표시하려면 세 가지 구성 요소를 함께 연결해야 합니다. Object Inspector에서 다음 설정을 지정합니다.
DBGrid1.DataSource = 데이터소스1;
DataSource1.DataSet = ADOTable1;
이제 어려운 부분에 도달했습니다. 실제로 데이터베이스에서 데이터를 가져오려면 ConnectionString을 만들어야 합니다. 이 문자열은 데이터베이스의 물리적 저장 위치와 액세스 방법을 나타냅니다. AdoTable 구성 요소의 ConnectionString 속성에 있는 줄임표 단추를 두 번 클릭하면 다음과 같은 대화 상자가 나타납니다.
=
Microsoft.Jet.OLEDB.4.0;Data Source=C:/!gajba/About/aboutdelphi.mdb;
디자인을 완료하려면 다시 Object Inspector를 사용하여 ADOTable 구성 요소를 통해 액세스할 테이블 이름을 설정해야 합니다. ADOTable1.TableName = 애플리케이션 디자인 타임에 데이터베이스 데이터를 보려면 ADOTable의 Active 속성을 사용하고 이를 True로 설정합니다. 하아! 위의 모든 단계를 수행했다면 이제 애플리케이션 테이블에 하나의 레코드(행)만 있는 것을 볼 수 있습니다. 애플리케이션을 실행하면 데이터베이스의 데이터를 변경할 수도 있습니다. 물론, 그 이상을 할 수는 없습니다. 이것은 제가 생각할 수 있는 ADO의 가장 간단한 예입니다. 이제 이 섹션을 마무리할 수 있습니다. 다음 장에서는 Delphi가 제공하는 모든 ADO 구성 요소와 이들이 나머지 데이터 인식 구성 요소와 통신하여 보다 강력한 Delphi 데이터베이스 애플리케이션을 만드는 방법에 대해 설명합니다. 2002년 12월 22일 20:14