1. 임시 테이블을 만듭니다
데이터 입력은 데이터베이스 프로그램 개발에서 피할 수없는 링크입니다. 클라이언트/서버 구조에서 클라이언트는 서버의 백엔드 데이터베이스에 제출하기 전에 데이터 배치를 입력해야 할 수도 있습니다 로컬 테이블 데이터를 제출 한 후 데이터를 지 웁니다. 이 방법의 이점은 다음과 같습니다. 입력 효율을 향상시키고 네트워크 부담을 줄입니다.
한 번에 사용자가 입력 한 데이터의 양은 일반적으로 작기 때문에 (수백 개의 레코드를 넘지 않음) 임시 테이블을 메모리로 구축 할 수있어 처리가 더 빨라집니다.
방법 1 : 쿼리 컨트롤 사용 (tquery)
1 단계 : 쿼리 컨트롤 (tquery)을 양식에 넣고 연결된 데이터 테이블을 설정하십시오.
2 단계 : cachedupdates = true;
tquery. requestive = true
3 단계 : 원래의 SQL 문 후에 위치를 추가하고 SQL 쿼리 결과가 비어있는 후에는이 위치를 추가 한 후에 비어 있습니다.
예를 들어:
Biolife를 선택하십시오. ″ Species no ″, Category, Common_name, Biolife. ″ 종 이름 ″, Biolife. ″ 길이 (cm) ″, longth_in, 노트, 그래픽
″ biolife.db ″ Biolife에서
여기서 biolife.category = ′ a ′ 및 biolife.category = ′ B ′
이런 식으로 임시 테이블이 설정됩니다.
방법 2 : 코드를 사용하여 임시 테이블을 만듭니다
코드는 다음과 같습니다.
함수 createTableInMemory (const afieldDefs : tfieldDefs) : tdataset;
var
유혹 가능한 : tclientDataset;
시작하다
유혹 가능 : = nil;
결과 : = nil;
If AfieldDefs $#@60; $#@62;
시작하다
노력하다
유혹 가능 : = tclientDataset.create (응용 프로그램);
Temptable.fieldDefs.Assign (AfieldDefs);
유혹 가능한 .createdataset;
결과 : = (tdataset로 유혹 할 수 있음);
제외하고
유혹이 가능한 경우 $#@60; $#@62;
유혹 가능.
결과 : = nil;
들어올리다;
끝
끝
끝;
프로그램에서 다음과 같이 사용하십시오.
절차 tform1.Button1click (sender : tobject);
var
Adataset : Tdataset;
시작하다
Adataset : = tdataset.create (self);
Adataset과 함께
시작하다
추가 ( 'name', ftstring, 30, false);
추가 ( 'ue', ftinteger, 0, false);
끝;
DataSource1과 함께
시작하다
데이터 세트 : = createTableInMemory (adataset.fieldDefs);
dataset.open;
끝;
adataset.free;
끝;
임시 테이블 생성이 완료되었습니다.
방법 1은 사용하기가 간단하지만 쿼리 컨트롤은 데이터를 지울 때 서버 백엔드 데이터베이스를 쿼리하는 데 사용되므로 속도가 약간 느리 며 여러 데이터에 의해 임시 테이블의 각 필드가 함께 측정되는 상황에 적합하지 않습니다. 테이블 필드. 방법 2에는 광범위한 응용 프로그램과 빠른 속도가 있지만 코드를 작성해야합니다. (코드에서 tfielddefs의 사용 방법은 매우 간단합니다. Delphi의 온라인 도움말을 참조하십시오).
2. 데이터 엔진 구성 (BDE, SQL Link)
데이터베이스 프로그램을 배포 할 때는 데이터 엔진 (BDE, SQL 링크)을 전달해야하며 클라이언트가 프로그램을 설치 한 후 사용자 이름, 암호 (비밀번호) 등과 같은 데이터 엔진을 구성해야합니다. 수동으로 구성되면 작업량은 비교적 클라이언트 수에 따라 다릅니다.
[Idapi 별칭]
useName = sysdba
비밀번호 = 마스터 키
프로그램을 설치 한 후 데이터 엔진이 자동으로 구성됩니다.
3. 인터베이스 데이터베이스에서 기능을 사용하십시오
프로그래머는 너무 적은 기능을 제공 할 때 (4 개)를 제공 할 때 인터베이스를 배경 데이터베이스로 사용할 때 불편을 느낄 수 있으며 복잡한 저장 프로 시저를 쉽게 작성할 수 없습니다. 인터베이스 자체는 함수를 쓸 수 없지만 외부 함수 (DLL의 함수라고 함)를 사용할 수 있습니다. 다음 예는 인터베이스에서 기판 함수를 선언하는 방법을 보여줍니다.
외부 함수 서브 스트에서 선언합니다
cstring (80), smallint, smallint
Cstring을 반환 (80)
Entry_Point ″ IB_UDF_SUBSTR ″ MODULE_NAME ″ IB_UDF ″
여기서 : module_name은 dll의 이름이며 Entry_point는 함수 이름입니다.
예를 들어 선언 후 사용할 수 있습니다.
SELL SUBSTR (국가)
나라에서
이 예제는 Delphi 설치와 함께 제공되는 iBlocal 데이터베이스를 사용합니다. 사용자는 또한 인터베이스를 확장하기 위해 기능을 스스로 작성할 수 있습니다. 자세한 내용은 데이터베이스 관련 기사 주제를 참조하십시오.