Delphi의 가장 매력적인 기능 중 하나는 Database Desktop 도구를 통해 데이터베이스를 쉽게 작성하고 편집 할 수있는 강력한 데이터베이스 액세스 기능입니다. 실제적인 이유로 인해 프로그램이 실행 중에 특정 데이터베이스를 동적으로 설정해야합니다.
사용자에게 데이터베이스 데스크탑 도구를 사용하여 수동으로 데이터 테이블을 만들도록 요청하면 작성한 프로그램은 크게 할인되지만 Delphi가 언어 로이 기능을 완료 할 수 있다고 걱정할 필요는 없습니다. 연구와 연습에서 두 가지 방법을 요약했는데,이 방법은 테이블 방법과 SQL 방법을 호출합니다. 다음은 간단한 예를 통해 동적 데이터베이스 설정 프로세스를 설명합니다.
1. 표 방법 :
1. (라이브러리 이름이 ljh.db라고 가정 할 때 역설 데이터 테이블을 설정하는 예를 들어보십시오). 새 프로젝트 파일 zhoudf.dpr을 만듭니다.
2. 패널의 버튼 요소를 선택하고 Form1 테이블에 배치하여 다음 코드를 입력하십시오.
절차 tform1.Button2Click (sender : tobject);
var 표 1 : ttable; 시작 표 1 : = ttable.create (self);
표 1이 활성화된다 : = false;
tableName : = 'ljh.db';
TableType : = FieldSdef가있는 ttparadox {이 방법은 ljh.db에 필드를 추가합니다.
추가 ( 'yj', ftdate, 0, false);
추가 ( 'zp', ftstring, 10, false) {특정 필드 이름 및 유형 추가};
추가 ( 'zdm', ftinteger, 0, false);
끝;
indexdefs를 사용하면 {이 메소드는 ljh.db에 인덱스 필드를 추가합니다.
추가 ( 'yjindex', 'yj', [ixprimary]);
끝;
생물이 가능합니다.
끝;
끝;
2. SQL 메소드 : 패널의 버튼 요소를 선택하고 Form1 테이블에 배치하여 다음 코드를 입력하십시오.
절차 tform1.Button2Click (sender : tobject);
var 표 2 : tquery; 시작 표 2 : = tquery.create (self);
표 2가 SQL이 시작되면 시작하십시오.
추가 ( '테이블 만들기 "ljh.db");
추가 ( '(yj date,'); {따옴표에 '('} 참고
추가 ( 'zp char (10),');
추가 ( 'zdm int)');
끝;
execsql;
SQL. 청소;
sql.add ( 'ljh.db "(yj)에서 index yj 만들기') {이 SQL 문은 ljh.db에 인덱스 필드를 추가합니다.
execsql;
끝;
끝;
*이 프로그램을 편집하십시오. * 라이브러리가 이미 있으면 오류 메시지가 생성되고 라이브러리가 이미 있으면 테이블 메소드를 고려할 필요가 없습니다.