분석:
다양한 유형의 데이터에 대한 고급 인터페이스가 모든 데이터 액세스 요구 사항을 충족하는 완벽한 솔루션으로 진화하고 있습니다. DataModule 4.adoquery2.sql.add ('책 카드 번호 선택, 암호는 [사용자 ]WHERE (책 카드 번호 =: TT)');
데이터 모듈 4.adoquery2.parameters [0]. 값: = 사용자 이름;
Data module 4.adoquery2.open;
TQuery 또는 TADOquery 섹션에 대한 SQL 속성을 설정할 때 Close 메서드를 호출하는 것은 항상 안전합니다. TQuery 또는 TADOquery 섹션이 닫혀 있으면 close 메서드를 호출해도 아무런 효과가 없습니다. 응용 프로그램에서 SQL 속성에 대한 새 SQL 명령 문을 설정하는 경우 Clear 메서드를 호출하여 SQL 속성의 기존 SQL 명령 문을 지워야 합니다. Clear 메서드를 호출하지 않는 경우 Add 메서드를 호출하여 SQL 속성에 SQL 명령 문을 설정할 수 있습니다. 그런 다음 새로 설정된 SQL 명령 문이 기존 SQL 명령 문에 추가되고 프로그램이 실행될 때 예기치 않은 질의 결과가 자주 발생하거나 프로그램을 실행할 수 없습니다.
여기서 특별한 주의를 기울이는 것이 중요하다. 일반적으로 TQuery 또는 TADOquery 구성 요소의 SQL 등록 정보에는 하나의 전체 SQL 문만 포함될 수 있으며 여러 SQL 문으로 설정할 수 없습니다. 물론 일부 데이터베이스 서버는 TQuery 또는 TADOquery 구성 요소의 SQL 등록 정보에서 여러 SQL 문 설정을 지원합니다. 데이터베이스 서버가 허용하는 한 프로그래밍 시 SQL 속성에 대해 여러 개의 SQL 문을 설정할 수 있습니다.
TQuery 또는 TADOquery 구성 요소에 대한 SQL 속성의 속성 값을 설정한 후 적절한 SQL 프로그램을 작성한 후 SQL 프로그램을 실행할 수 있는 여러 가지 방법이 있습니다.
디자인 프로세스 중에 TQuery 또는 TADOquery 구성 요소의 SQL 속성을 설정한 후 Active 속성 값을 True 로 설정하면 SQL 속성에서 SQL 프로그램을 실행할 수 있습니다. 응용 프로그램에 TQuery 또는 TADOquery 구성 요소 (예: TDDGridTDBEdit) 에 연결된 데이터 탐색 구성 요소가 있는 경우 SQL 프로그램 실행 결과가 이러한 데이터 탐색 구성 요소에 표시됩니다.
응용 프로그램을 실행하는 동안 TQuery 또는 TADOquery 구성 요소의 Open 메서드 또는 ExecSQL 메서드를 호출하여 SQL 프로그램의 SQL 속성을 실행할 수 있습니다. Open 메소드는 ExecSQL 메소드와 다릅니다. Open 메소드는 SQL 쿼리 문 (Select 명령) 을 실행하고 하나의 쿼리 결과 세트를 반환하는 데만 사용할 수 있으며 ExecSQL 메소드는 다음과 같은 다른 최상위 SQL 문 (예: INSERT, UPDATE, DELETE 등) 을 실행하는 데 사용할 수 있습니다.
Query 1 입니다. 열기 (쿼리 결과 세트를 반환합니다).
질의 결과 없이 Open 메서드를 호출하면 오류가 발생합니다. 이때 Open 메소드 대신 ExecSQL 메소드를 호출해야 합니다. 예를 들면 다음과 같습니다.
Query 1 입니다. ExecSQL (결과가 반환되지 않음)
물론 프로그래머는 응용 프로그램을 디자인할 때 TQuery 또는 TADOquery 구성 요소의 SQL 문이 쿼리 결과를 반환할지 여부를 결정할 수 없습니다. 이 경우 ... 모듈을 제외하고 프로그램을 설계하는 데 사용해야 합니다. Try 섹션에서 Open 메서드를 호출하고 Except 섹션에서 ExceSQL 메서드를 호출하여 프로그램이 제대로 실행되도록 합니다.
예를 들면 다음과 같습니다.
시도하다
Query 1 입니다. 열다
제외 ...
Query 1 입니다. ExecSQL
끝
Tquery 또는 TADOquery 구성 요소를 통해 두 가지 유형의 데이터를 얻을 수 있습니다.
U "활성" 데이터
이 데이터는 Table 구성 요소를 통해 얻은 데이터와 같습니다. 사용자는 데이터 탐색 구성 요소를 통해 이러한 데이터를 편집 및 수정할 수 있으며, Post 메서드가 호출되거나 포커스가 현재 데이터 탐색 구성 요소를 벗어나면 사용자의 데이터 수정 사항이 데이터베이스에 자동으로 다시 기록됩니다.
U 비활성 데이터 (읽기 전용 데이터)
사용자는 데이터 탐색 구성 요소를 통해 데이터를 수정할 수 없습니다. 기본적으로 TQuery 구성 요소를 통해 얻은 쿼리 결과 데이터는 읽기 전용입니다. 활성 데이터를 가져오려면 응용 프로그램에서 Tquery 또는 TADOquery 구성 요소의 RequestLive 속성 값을 True 로 설정해야 하지만 RequestLive 의 종속 값을 True 로 설정하여 어떤 경우에도 활성 데이터를 가져올 수 없습니다. 활성 데이터를 가져오려면 TQuery 섹션의 RequestLive 속성을 True 로 설정하는 것 외에도 해당 SQL 명령이 다음 조건을 충족해야 합니다.
로컬 SQL 문 쿼리의 경우 업데이트 가능한 데이터 세트를 얻기 위해 SQL 문의 제한 사항은 다음과 같습니다.
N 하나의 쿼리에는 하나의 테이블만 포함될 수 있습니다.
NSQL 문에는 ORDERBY 명령을 포함할 수 없습니다.
NSQL 문에는 합산 연산자 SUM 또는 AVG 를 포함할 수 없습니다.
N 선택하면 필드 리스트에 계산된 필드를 사용할 수 없습니다.
N Select 문의 WHERE 섹션에는 필드 값과 상수 간의 비교 연산만 포함될 수 있습니다. 이러한 비교 연산자는 다음과 같습니다. Like,>,<,>=,<=. 비교 연산 사이에는 합집합 및 교집합 연산 (AND 및 OR) 이 있을 수 있습니다.
SQL 문을 통해 데이터베이스 서버의 데이터베이스 테이블을 질의하는 경우:
N 하나의 쿼리에는 하나의 테이블만 포함될 수 있습니다.
NSQL 문에는 ORDERBY 명령을 포함할 수 없습니다.
NSQL 문에는 합산 연산자 SUM 또는 AVG 연산이 포함될 수 없습니다.
또한 Sybase 데이터베이스에서 테이블을 질의하는 경우 질의한 테이블에는 인덱스가 하나만 있을 수 있습니다.
TQuery 또는 TADOquery 구성 요소가 응용 프로그램에서 "활성" 쿼리 결과 데이터 세트를 반환해야 하지만 SQL 명령 문이 위의 제약 조건을 충족하지 않는 경우 BDE 는 로컬 데이터베이스의 SQL 쿼리에 대해 읽기 전용 데이터 세트를 하나만 반환할 수 있습니다. 데이터베이스 서버에 있는 SQL 쿼리의 경우 잘못된 코드만 반환할 수 있습니다. Tquery 또는 TADOquery 구성 요소가 활성 쿼리 결과 데이터 세트를 반환하면 해당 CanModIfy 등록 정보 값이 True 로 설정됩니다.
3.4MSSQLServer 소개
SQLServer 는 강력한 성능과 간단한 조작으로 데이터베이스 사용자들에게 점점 더 사랑받고 있는 백그라운드 데이터베이스 관리 시스템입니다. 점점 더 많은 개발 도구가 SQL 서버와의 인터페이스를 제공하고 있습니다. SQLServer 는 Microsoft, Sybase 및 Ashton-Tate 에서 개발한 관계형 데이터베이스 관리 시스템입니다. 첫 번째 OS/2 버전은 1988 에서 출시됩니다. WindowsNT 가 출시되자 Microsoft 와 Sybase 는 SQL 서버 개발에서 헤어졌다. Microsoft 는 SQLServer 를 WindowsNT 시스템으로 마이그레이션하여 SQL server windows nt 버전 개발 및 홍보에 주력하고 있습니다.
SQLServer2000 은 Microsoft 가 출시한 SQLServer 데이터베이스 관리 시스템의 최신 버전입니다. 이번 릴리즈는 SQLServer7.0 의 장점을 그대로 계승하고 사용 편의성, 확장성 및 관련 소프트웨어와의 통합이 높은 고급 기능을 다수 추가했습니다. MicrosoftWindows98 을 실행하는 노트북에서 MicrosoftWindows2000 을 실행하는 대규모 멀티 프로세서 서버에 이르기까지 다양한 플랫폼에서 사용할 수 있습니다. MSSQL 서버는 중대형 데이터베이스 관리뿐 아니라 데스크톱 데이터베이스도 개발할 수 있습니다. 실제로 SQL 서버 데이터베이스 처리의 기본 구조는 관계형 데이터베이스 스키마를 사용합니다. 그럼에도 불구하고 SQL 서버의 데이터베이스 처리 방식은 객체 지향 운영 방식과 정신을 채택하고 있습니다. 즉, SQL 서버의 모든 기능은 이미 시스템에 설정된 일부 객체를 기반으로 할 수 있습니다. 이는 상당한 OO (object-oriented) 아키텍처입니다.
SQLServer 의 주요 관리 도구인 SQLServer enterprise manager 는 MMC 표준을 준수하는 사용자 인터페이스를 제공하므로 다음과 같은 작업을 수행할 수 있습니다.
SQLServer 인스턴스 그룹을 정의합니다.
단일 서버를 하나의 그룹에 등록합니다.
등록된 각 서버에 대해 모든 SQLServer 옵션을 구성합니다.
등록된 각 서버에서 모든 SQLServer 데이터베이스, 객체, 로그인 이름, 사용자 및 권한을 작성하고 관리합니다.
등록된 각 서버에서 모든 SQLServer 관리 작업을 정의하고 실행합니다.
SQL 쿼리 분석기를 호출하여 대화식으로 SQL 문, 배치 및 스크립트를 설계하고 테스트합니다.
SQLServer 에 대해 정의된 다양한 마법사를 깨우고 호출합니다.
제 3 장 도서관 관리 시스템 설계 및 분석
4. 1 애플리케이션 수요 분석
도서관 관리 시스템은 도서 대출자, 도서관 직원, 도서관 관리자라는 세 가지 방면의 요구를 충족시켜야 한다. 도서 대출자의 요구는 도서 수집, 개인 대출 상황, 개인 정보 수정을 조회하는 것이다. 도서관 직원들은 도서 대출자의 대출, 반환 요구 사항을 조작하면서 대출자나 반환 보고서를 만들어 대출자가 확인할 수 있도록 합니다. 도서관 관리자의 기능은 직원, 도서 대출자 및 도서의 관리 및 유지 관리, 시스템 상태의 조회 및 유지 관리, 도서 반환 보고서 생성 등 가장 복잡합니다.
차용인은 책을 확인하기 위해 도서관에 직접 갈 수 있습니다. 만약 그들이 자신의 도서 번호와 비밀번호에 따라 시스템에 로그인한다면, 자신의 대출 상황을 조회해 개인 정보를 유지할 수도 있다. 일반적으로 도서 대출자는 자신의 대출 상황과 개인 정보만 조회하고 유지해야 한다. 만약 그가 다른 차용인의 대출 상황과 개인 정보를 조회하고 유지한다면, 다른 차용인의 도서 번호와 비밀번호를 알아야 한다. 이것들은 모두 얻기가 매우 어렵고, 특히 비밀번호가 어렵기 때문에 도서 대출자의 요구를 만족시키고 개인의 사생활을 보호한다.
도서관 직원들은 도서의 대출 및 반환 기록을 수정할 권리가 있으므로 직원들이 이 모듈에 로그인하는 것을 더 많이 고려해야 한다. 이 모듈에서 도서관 직원은 차용인에게 도서 대여 또는 반납 기록을 추가하고 사용자가 확인할 수 있도록 적절한 보고서를 인쇄할 수 있습니다.
도서관 관리인은 정보량이 많아 데이터 보안 비밀에 대한 요구가 가장 높다. 이 기능은 도서 정보, 대출자 정보, 전체 대출 정보 관리 및 통계, 인력 및 관리 정보 조회 및 유지 관리를 가능하게 합니다. 사서는 도서의 기본 정보를 탐색, 조회, 추가, 삭제, 수정 및 통계할 수 있습니다. 도서 대출자의 기본 정보를 탐색, 조회, 통계, 추가, 삭제 및 수정하며, 도서관 대출 정보를 탐색, 조회 및 통계하지만 대출 정보를 추가, 삭제 및 수정할 수는 없습니다. 이 기능 부분은 도서관 직원이 수행해야 한다. 그러나 도서 대출자의 기본 정보 기록을 삭제할 때는 도서 대출자의 대출 기록을 계단식으로 삭제해야 한다. 또한 반납서 보고서를 생성하고 인쇄하는 기능도 있어야 합니다.
이 시스템에서는 테스트할 프린터 장치가 없기 때문에 보고서 인쇄가 미리 보고 미리 보기로 변경됩니다.
서로 다른 사용자의 운영 권한 및 로그인 방법을 설계합니다.
모든 사용자에게 개방된 도서 조회
차용인은 차용인의 개인 정보를 유지합니다.
차용인은 개인 대출 정보를 조회합니다.
차용인의 개인 암호 유지
대출 상황에 따라 데이터베이스를 조작하고 보고서를 생성합니다.
반납 상황에 따라 데이터베이스를 조작하고 보고서를 생성합니다.
다양한 정보 조회 및 통계
도서 정보를 유지 관리하다
직원 및 관리자 정보를 유지 관리합니다.
차용자 정보 관리
처리 정보의 무결성
기한이 지난 도서에 대한 보고서를 생성합니다.
그림 4-2 라이브러리 관리 시스템 데이터베이스 애플리케이션 요구 사항 요약
위의 요구 사항 분석에 따르면 일부 세부 사항 (예: 사용자의 로그인 고려 안 함) 은 생략되었습니다. 레코드 유지 관리), 다음 세 가지 수준의 데이터 흐름도를 얻을 수 있습니다.
4.2 시스템 기능 모듈 부문
시스템의 기능 상자는 그림 4- 10 에 나와 있습니다.
4.3 시스템 데이터베이스 설계
개념 설계
개념 설계 단계에서 설계자는 사용자 관점에서 데이터, 처리 요구 사항 및 제약 조건을 처리하여 사용자 관점을 반영하는 개념 모델을 생성합니다. 그런 다음 개념 모델을 논리 모델로 변환합니다. 개념 설계는 설계 프로세스와 분리되어 각 단계의 작업을 비교적 간단하게 하고 설계의 복잡성을 크게 줄이며 특정 DBMS 의 제한을 받지 않습니다.
ER 메소드의 데이터베이스 개념 설계는 세 단계로 나눌 수 있습니다. 먼저 로컬 ER 스키마를 설계한 다음 각 로컬 ER 스키마를 하나의 전역 모드로 합성한 다음 마지막으로 전역 ER 스키마를 최적화하여 최종 모드, 즉 개념 모드로 최적화할 수 있습니다.
(1) 로컬 ER 모드 설계
엔티티 및 속성 정의:
도서 (책 번호, 책 제목, 저자, 출판사, 발행일, 주석, 가격, 수량 등)
차용인 (도서관 카드 번호, 이름, 성별, 신분증, 연락처 전화, 비밀번호)
신분 (주민등록번호, 주민등록설명, 최대 대출 횟수)
도서 카테고리 (도서 카테고리 번호, 카테고리 설명)
ER 모형의 "연결" 은 본체 간의 연관을 설명합니다. 한 가지 완전한 방법은 수요 분석 결과에 따라 로컬 구조에서 두 엔티티 유형 간에 연결이 있는지 여부를 조사하는 것입니다. 연락이 있으면 1:N, M:N 또는 1: 1 등을 더 결정합니다. 또한 하나의 엔티티 유형 내부에 연결이 있는지, 두 엔티티 유형 간에 연결이 있는지, 여러 엔티티 유형 간에 연결이 있는지 등을 조사해야 합니다. 연락처 정의는 그림 4-5 에 나와 있습니다. 설명은 다음과 같습니다.
U 한 명의 차용인 (사용자) 은 하나의 신분만 가질 수 있고, 한 신분은 여러 차용인이 소유할 수 있다.
U 한 권의 책은 하나의 도서 범주 (범주) 에만 속할 수 있으며, 한 도서 범주에는 여러 권의 책이 포함될 수 있습니다.
한 사용자가 여러 가지 책을 빌릴 수 있고, 한 권의 책도 여러 사용자가 빌릴 수 있다.
(2) 전역 ER 모드 설계
모든 로컬 er 패턴을 설계한 후 다음 단계는 단일 글로벌 개념 구조로 결합하는 것입니다. 글로벌 개념 구조는 모든 로컬 ER 스키마를 지원할 뿐만 아니라 완전하고 일관된 데이터베이스 개념 구조를 합리적으로 나타내야 합니다.
1) 공개 * * * 의 엔티티 유형을 결정합니다
여러 로컬 er 모드의 통합을 위한 기반을 제공하려면 먼저 각 로컬 구조에서 공통 엔티티 유형을 결정해야 합니다. 이 단계에서는 엔티티 유형 이름과 키로만 공용 엔티티 유형을 식별합니다. 일반적으로 같은 이름의 엔티티 유형은 공용 엔티티 유형에 대한 후보로 간주되고, 같은 키의 엔티티 유형은 공용 엔티티 유형에 대한 또 다른 후보로 간주됩니다.
2) 로컬 er 모드 통합
합병의 원칙은 다음과 같습니다. 첫째, 한 쌍의 합병; 먼저, 현실 세계에서 연관이 있는 지역 구조를 병합한다. 통합은 공용 엔티티 유형에서 시작하여 마지막으로 별도의 지역 구조를 추가합니다.
3) 충돌 제거
충돌은 속성 충돌, 구조 충돌 및 이름 충돌의 세 가지 범주로 나뉩니다.
글로벌 ER 패턴을 설계하는 목적은 여러 로컬 ER 패턴을 공식적으로 하나의 ER 패턴으로 결합하는 것이 아니라 충돌을 제거하여 모든 사용자가 이해하고 받아들일 수 있는 동일한 개념 모델이 되도록 하는 것입니다.
3) 글로벌 ER 모드 최적화
전역 er 스키마를 얻은 후에는 데이터베이스 시스템의 효율성을 높이기 위해 처리 요구 사항에 따라 ER 스키마를 더 최적화해야 합니다. 좋은 글로벌 ER 모델은 사용자의 기능 요구 사항을 정확하고 포괄적으로 반영해야 할 뿐만 아니라 엔티티 유형 수가 가능한 한 적어야 합니다. 엔티티 유형에는 가능한 한 적은 수의 속성이 포함되어 있습니다. 엔티티 유형 간에 중복이 없습니다.
요약하면,' 도서 관리 시스템' 의 글로벌 ER 패턴은 그림 4- 13 에 나와 있습니다.
관계형 데이터베이스의 논리적 설계
개념 설계의 결과는 er 그래프이고, DBMS 는 일반적으로 관계형 (내가 사용하는 MSSQL 서버는 관계형 DBMS) 을 사용하기 때문에 데이터베이스의 논리적 설계 프로세스는 ER 차트가 관계형 패턴으로 변환되는 프로세스입니다. 관계형 모델의 장점으로 인해 논리 설계는 관계형 데이터베이스의 정규화 이론을 최대한 활용하여 설계 프로세스를 형식화할 수 있습니다. 설계 결과는 관계 패턴 세트의 정의입니다.
(1) 초기 관계 모드 내보내기
도서 (도서 번호 #, 도서 이름, 도서 범주 #, 저자, 출판사, 출판일, 주석, 가격, 수량) 범주 (도서 범주 #, 범주 이름) 사용자 (도서 번호 #, 이름, 성별, 주민등록번호 #
그림 4- 14 관계 패턴 세트
(2) 생성 하위 모드
하위 모드는 사용자가 사용하는 데이터 부분에 대한 설명입니다. 사용자가 사용하는 데이터뿐 아니라 개념 모델의 해당 데이터에 대한 데이터 관계, 즉 개념 모델과 하위 모델의 대응 관계도 나타냅니다.
하위 대출 방법 (도서관 카드 번호, 이름, 책 번호, 제목, 대출 날짜)
그림 4- 15 부분 하위 모드
(3) 설계 문제에 따라 시스템을 작성할 때 두 개의 관계 모델도 추가했습니다.
1, ownertemp: 직원이 도서 반납을 할 때 보고서 인쇄를 위해 도서 반납 정보를 임시로 저장하는 데 사용됩니다.
2. 키 어: 직원 또는 사서가 해당 기능 모듈에 들어갈 때 사용자의 신원을 확인할 수 있도록 직원 및 사서들의 사용자 이름, 암호 및 권한을 저장하는 데 사용됩니다.
4.3.3 데이터베이스 구현
데이터베이스의 논리적 설계 저는 MicrosoftSQLServer2000 (enterprise edition) 데이터베이스를 선택했습니다. 먼저 표 4- 1-4-7 과 같이 7 개의 기본 데이터베이스 테이블을 만든 다음 그림 4-8 과 같이 글로벌 ER 다이어그램을 기반으로 테이블 간의 관계를 설정합니다.
표 4- 1 차용자 기본 정보표 구조 (사용자)
표 4-2 도서 정보표 (도서) 의 구조
표 4-3 도서 범주 정보표 (클래스) 의 구조
표 4-4 차용자 신원 정보 양식 (ID) 구조
표 4-5 대출 정보 양식 구조 (소유자)
표 4-6 임시 저장 정보표 (Ownertemp) 의 대출 구조
참고: owner 테이블 및 ownertemp 테이블에 색인 필드를 추가하여 도서 대출 레코드를 고유하게 식별하고 식별자로 설정합니다. 식별자 seed 는 1 입니다.
표 4-7 직원 및 관리자 정보 테이블의 구조 (키)
그림 4-8 데이터베이스 테이블 간의 다이어그램
제 5 장 도서관 관리 시스템 응용 프로그램 설계
5. 1 시스템 양식 모듈
5.2 데이터 모듈 양식 설정
데이터베이스 응용 프로그램을 작성할 때 많은 구성 요소와 양식이 동일한 데이터 소스에 동시에 액세스하는 경우가 많습니다. 각 구성 요소 또는 양식에 대한 데이터 소스를 설정하는 것은 시간이 많이 걸리는 작업이며 이러한 데이터 소스가 실제로 같은지 확인하는 데 약간의 노력이 필요합니다. 그렇다면 데이터 소스 자체를 직접 조작하지 않고도 필요할 때 통합 모듈로 이러한 데이터 소스를 중앙 집중식으로 관리할 수 있습니까? DataModule 은 이 질문에 대한 가장 좋은 답입니다. 간단히 말해서, 데이터 모듈은 데이터 소스를 중앙에서 관리하는 한 가지 형태이며, 필요할 때 언제든지 도입할 수 있습니다.
하지만 이 시스템을 개발할 때 데이터 모듈을 사용하기 시작했지만 사용 과정에서 몇 가지 문제가 발생했습니다. 또한 이 시스템에서 사용하는 TADOQuery 컨트롤이 많기 때문에 데이터 컨트롤을 사용하면 다양한 데이터 컨트롤의 기능을 혼동하는 등 관리 문제가 발생할 수 있습니다. 동적으로 생성된 ADOQuery 를 사용하면 더 많은 자원을 절약할 수 있다고 생각하는 사람들도 있습니다. 그래서 제 시스템에서 제가 시작한 첫 번째 모듈인' 차용인 개인 모듈' 도 데이터 모듈을 약간 사용했습니다. 그러나 다음 두 모듈 중 대부분은 ADOQuery 를 동적으로 생성하여 수행됩니다. 또한 SQL 문이 동적으로 추가되기 때문에 데이터 모듈에는 컨트롤이 많지 않습니다.
5.3 시작 화면 구현
스크린을 가동하는 것은 사용자에게 좋은 인상을 주고 소프트웨어의 친화력을 심화시키기 위해서이다. 실제 기능이 없습니다. Form 1 에 이미지와 시간 구성 요소를 추가합니다. 시작 화면 형식은 생략됩니다. 기본 소스 코드는 다음과 같습니다.
5.4 사용자 로그인 양식 구현
이 양식은 세 가지 사용자 (일반 사용자, 직원, 관리자) 에게 다양한 사용자의 요구를 충족하기 위해 다양한 모듈에 들어갈 수 있는 옵션을 제공합니다. 소스 코드는 비교적 간단하고 약어입니다.
5.5 사용자 암호 인증 양식 구현
이 양식의 목적은 직원 또는 사서가 사용자 이름과 비밀번호에 따라 로그인하도록 하고, 사용자 이름에 따라 키 테이블의 권한 필드를 확인하여 도서관 관리자 모듈 또는 직원 모듈 입력 여부를 구분할 수 있도록 하는 것입니다. 양식 인터페이스와 소스 코드는 다음과 같습니다
5.6 차용자 서비스 모듈 구현
대출자 서비스 양식의 기능은 주로 책을 조회하고, 개인 대출을 보고, 일부 개인 정보를 수정하는 것이다. 인터페이스 다이어그램은 다음과 같습니다.
5.6. 1 도서 조회 기능 구현
이 시스템에서는 누구나 제한 없이 쿼리 기능을 사용할 수 있습니다. 인터페이스는 다음과 같습니다.
책 번호, 책 제목 등의 필드에 대한 정확한 일치 검색 및 부분 일치 퍼지 검색, 여러 조건의 논리 및 논리 또는 다중 조건별 검색 등 많은 쿼리 기능이 있기 때문입니다. 구현 방법은 유사하므로 다음과 같이 다중 조건 검색에 대한 코드만 제공됩니다.
5.6.2 차용자 로그인 기능 구현
이 기능의 구현은 직원, 경영진과 대체로 동일하며 더 간단하다. 사용자 테이블에서 도서 카드 번호와 비밀번호를 찾아 사용자 입력과 일치하는지 확인합니다. 일관되면 사용자는 자신의 대출 상황을 보고 자신의 일부 정보를 유지할 수 있습니다. 소스 코드와 차용자 로그인 인터페이스는 모두 생략되었습니다.
5.6.3 차용인의 차용 기능 실현
대출자가 시스템에 올바르게 로그인하면 이 기능이 활성화되어 사용자가 자신의 대출 상황을 확인할 수 있습니다. 이 시스템에서는 일반적으로 ListView 를 사용하여 정보를 표시합니다. DBgrid 는 ListView 가 더 잘 구현되고 정보 데이터를 사용자와 완전히 분리할 수 있다고 생각하기 때문에 드물게 사용됩니다.
여기서 우리는 대출자의 요구에 따라 모든 대출 부서 보기, 책 한 권의 대출 상황, 대출 일수에 따른 조회 등 대출 상황을 조회할 수 있다. 대출 일수를 기준으로 한 조회가 대표적이다. 두 가지 방법, 즉 방법 1 과 방법 2 가 있다. 이 함수의 소스 코드는 다음과 같습니다.
조회 방법 1 대출 일수별
조회 방법 2 대출 일수별
5.6.4 차용인의 개인 데이터 기능 유지
이 기능은 현재 대출자의 일부 정보를 수정할 수 있지만 도서증 번호, 신분 범주 등의 정보는 수정할 수 없습니다. 이것이 사서 모듈의 기능입니다. 이 인터페이스에서 수정 버튼을 클릭하여 수정 양식 (Form8) 을 열고 암호 수정 버튼을 클릭하여 그룹 상자 8 을 엽니다. 여기서 암호를 수정할 수 있습니다. 주요 소스 코드는 다음과 같습니다.
다음은 개인 정보 수정의 소스 코드입니다.
다음은 암호 수정을 위한 소스 코드입니다.
5.7 직원 설명서 대여/반환 모듈 구현
5.7. 1 인원이 도서 대출 기능을 실현하다.
이 기능에서 직원은 대출자의 카드 번호와 빌릴 책의 책 번호를 입력한 다음 대출 버튼을 클릭하여 책을 빌릴 수 있다. 실제 작업에서 책 번호만 알 수 있고 책 번호는 알 수 없다는 점을 감안하면 이 인터페이스의 맨 아래에 변환 기능이 추가되어 책 제목을 책 번호로 변환한 다음 책을 빌릴 수 있다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 책명언)
대출이 완료되면 시스템은 대출자가 확인할 수 있도록 대출 보고서를 생성합니다. 대출 보고서의 인쇄 효과는 다음 그림과 같이 구현이 비교적 간단하고 구현 과정이 생략되었습니다.
5.7.2 직원은 책 반환 기능을 달성합니다.
이 기능에서 직원들은 대출자의 도서 번호와 반납된 책 번호에 따라 책을 반납한다. 또 현실에서 일어날 수 있는 책 반납 상황에 따라 책 제목만 알고 책 번호를 모르기 때문에 책 제목별로 책을 반납하는 기능이 추가되었다. 이 함수는 도서 대출 함수에서 도서 이름을 책 번호로 변환하는 개선 방법으로, 대출 함수에서처럼 먼저 변환하고 빌릴 필요가 없다. 반품이 완료되면 반품 보고서도 인쇄되어 사용자가 확인을 볼 수 있습니다.
5.8 사서 모듈 구현
5.8. 1 사서들의 도서 관리 기능 구현
이 기능에서는 (* book number) 에 책 번호를 입력하고 찾기 버튼을 누르면 해당 구성 요소에 정보가 표시되거나 책 이름으로 원하는 레코드를 찾을 수 있습니다. 첫 번째 레코드의 정보가 해당 구성 요소에 표시됩니다. 또는 아래 ListView 구성 요소 중 하나를 클릭하여 선택한 레코드의 정보를 클릭할 수 있습니다. 창고 저장 기능에서 같은 도서 번호가 아니고 * 로 표시된 필드가 비어 있지 않은 한 새 도서 기록을 삽입할 수 있습니다. 삭제는 그 도서표에서 도서 기록을 삭제하며, 대출할 경우 사용자 요청에 따라 소유자 테이블의 기록도 삭제할 수 있다. 도서 수정과 도서 저장의 기능은 개인 기록 수정과 개인 기록에 추가된 기능과 동일하기 때문에 삭제 기능의 소스 코드만 아래에 나와 있습니다.
5.8.2 사서, 직원 및 관리자 관리 기능 구현
이 기능에서는 사원이나 관리자를 추가하거나 비밀번호와 권한을 수정할 수 있습니다.
이 기능에서 ListView 의 레코드가 선택된 경우 오른쪽의 해당 구성 요소에 정보가 표시되며 관리자는 레코드를 수정하거나 새 레코드를 추가할 수 있습니다. 삭제 버튼을 클릭하여 선택한 레코드를 삭제할 수도 있습니다. 삭제 기능은 도서 기록 삭제와 동일하며 추가 및 수정 구현 프로세스만 아래에 나와 있습니다.
5.8.3 사서가 도서 범주를 통일적으로 수정하고 기록을 보존하는 기능을 실현하다.
이 양식에서 책의 범주를 삭제, 추가 및 수정할 수 있습니다. 이 모듈은 도서 기록을 삭제, 추가, 수정하는 것과 같은 기능을 하지만 이 양식을 사용하여 도서 범주별로 집계할 수도 있고, 도서표와 소유자표에 따라 총 도서 수, 재고도서 수, 대출도서 수, 연체도서 수를 집계할 수도 있다. 이 글은 통계도서 총수, 재고도서 수, 대출도서 수, 기한이 지난 도서 수를 실현하는 몇 가지 기능과 과정을 제시한다
5.8.4 사서 대출 관리 기능 실현
차용인을 조회하면 차용인의 도서 번호나 이름 또는 주민등록번호를 기준으로 차용인의 정보를 찾을 수 있으며, 모호한 조회를 할 수도 있다. 이 기능의 실현은 일반적으로 앞의 도서 검색과 동일하므로 자세히 설명하지 않습니다.
5.8.5 도서관 유지 보수 차용자의 관리 기능 실현
이 기능은 차용인의 정보를 조회, 추가, 삭제 및 수정할 수 있습니다. 다음은 새로 고침 버튼의 구현 과정입니다.
5.8.6 도서관 신원 유지 기능 구현
이 부분은 차용인의 신분을 관리하며 추가, 삭제, 수정할 수 있다. 마찬가지로 listview 에서 하나 이상의 레코드를 선택하면 해당 오른쪽 구성 요소에 정보가 표시됩니다. 이 기능의 구현 과정은 위에서 설명한 것과 유사합니다.
5.8.7 도서관 대출 통계 기능 실현
이 함수는 차용자의 신분에 따라 집계하여 특정 신분의 총 대출 수, 해당 신분의 대출 수 및 대출 수를 산출합니다. 다음은 구현 과정입니다.
5.8.8 도서관 통계 대출 기한 초과 기록 실현
인쇄된 연체 대출 독촉 보고서는 다음 그림과 같습니다.
이 보고서는 다음과 같은 주요 SQL 문과 같이 차용증 번호에 따라 대출 정보가 제한 시간을 초과하는 정보를 오름차순으로 표시할 수 있습니다.
5.9 시스템 정보 표시 구현
이 시스템 정보를 표시하고 오른쪽 텍스트는 위쪽으로 스크롤합니다. 주요 구현은 다음과 같습니다.