Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Β«ΠΠ²ΡΠΎΡΠ°Π»ΠΎΠ½Β»
MySQLΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ MySQL ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΡ Oracle, ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ°Ρ ΠΏΡΠ°Π²Π° Π½Π° ΡΠΎΡΠ³ΠΎΠ²ΡΡ ΠΌΠ°ΡΠΊΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠΎΠ³Π»ΠΎΡΡΠ½Π½ΠΎΠΉ Sun Microsystems, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΠΎΠ±ΡΠ΅Π»Π° ΡΠ²Π΅Π΄ΡΠΊΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ MySQL AB. ΠΠΈΠ±ΠΊΠΎΡΡΡ Π‘Π£ΠΠ MySQL ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΠΏΠΎΠ² ΡΠ°Π±Π»ΠΈΡ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΈΠΏΠ° MyISAM, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Β«ΠΠ²ΡΠΎΡΠ°Π»ΠΎΠ½Β» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΡΡΡΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π½Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ «ΠΠ²ΡΠΎΡΠ°Π»ΠΎΠ½» ΠΏΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ Π‘Π£ΠΠ MicroSoft Office Access. ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π² ΡΠ΅Π±Π΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, ΠΏΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ. ΠΡΠ΅ ΡΠ²ΡΠ·ΠΈ Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½-ΠΊ-ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈ ΠΎΠ΄ΠΈΠ½-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΡΠΎΠ±Ρ Π½Π΅ Π½Π°ΡΡΡΠ°Π»Π°ΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ . Π ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΠΊΠΈ C++ Builder Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «ΠΠ²ΡΠΎΡΠ°Π»ΠΎΠ½» Π΄Π»Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² SQL.
builder ΡΠ°Π±Π»ΠΈΡΠ° Π·Π°ΠΏΡΠΎΡ msaccess
1. ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΠ°Π΄Π°Π½ΠΈΠ΅:
Π‘ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ «ΠΠ²ΡΠΎΡΠ°Π»ΠΎΠ½»;
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «ΠΠ²ΡΠΎΡΠ°Π»ΠΎΠ½», Π΄Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ «ΠΠ²ΡΠΎΡΠ°Π»ΠΎΠ½».
2. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
2.1 ΠΡΠ±ΠΎΡ Π‘Π£ΠΠ ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π’. ΠΊ Π² Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ±Π΄, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΡΡ, ΠΎΠ±Π»Π°Π΄Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ: ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ api (c++).
ΠΠΎΠ΄ ΡΡΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²: MySQL, MSSQL, MSAccess. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ.
2.1.1 MSSQL
MSSQL-ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ (Π‘Π£Π ΠΠ), ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ΅ΠΉ Microsoft. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠ·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² — Transact-SQL, ΡΠΎΠ·Π΄Π°Π½ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Microsoft ΠΈ Sybase. Transact-SQL ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ANSI/ISO ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΡΠ·ΡΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² (SQL) Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΎΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ Π΄ΠΎ ΠΊΡΡΠΏΠ½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΡΠ°Π±Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ; ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΠ΅Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π‘Π£ΠΠ Π² ΡΡΠΎΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ ΡΡΠ½ΠΊΠ°. ΠΠ»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ.
2.1.2 MySQL
MySQLΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ MySQL ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΡ Oracle, ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ°Ρ ΠΏΡΠ°Π²Π° Π½Π° ΡΠΎΡΠ³ΠΎΠ²ΡΡ ΠΌΠ°ΡΠΊΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠΎΠ³Π»ΠΎΡΡΠ½Π½ΠΎΠΉ Sun Microsystems, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΠΎΠ±ΡΠ΅Π»Π° ΡΠ²Π΅Π΄ΡΠΊΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ MySQL AB. ΠΠΈΠ±ΠΊΠΎΡΡΡ Π‘Π£ΠΠ MySQL ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΠΏΠΎΠ² ΡΠ°Π±Π»ΠΈΡ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΈΠΏΠ° MyISAM, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΠΎΠΈΡΠΊ, ΡΠ°ΠΊ ΠΈ ΡΠ°Π±Π»ΠΈΡΡ InnoDB, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π‘Π£ΠΠ MySQL ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΡΠ°Π±Π»ΠΈΡ EXAMPLE, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠ°Π±Π»ΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΎΡΠΊΡΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΈ GPL-Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² Π‘Π£ΠΠ MySQL ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ ΡΠ°Π±Π»ΠΈΡ. ΠΠ»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ.
2.1.3 Microsoft Access
Microsoft Access — ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ ΡΡΠ±Π΄ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠΈ Microsoft. ΠΠΌΠ΅Π΅Ρ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΡΠ²ΡΠ·Ρ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌΡ ΡΠ·ΡΠΊΡ VBA, Π² ΡΠ°ΠΌΠΎΠΌ Access ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . Π―Π·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² Transact-SQL. ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΈΠ» Π±Π°Π·Ρ.
2.2 Π‘ΡΡΡΠΊΡΡΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΠ· Π²ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π‘Π£ΠΠ, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ°Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ «ΠΠ²ΡΠΎΡΠ°Π»ΠΎΠ½» ΡΠ²Π»ΡΠ΅ΡΡΡ MS Access. ΠΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
Π ΠΈΡΡΠ½ΠΎΠΊ 1 — ER-Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°
ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 1, Π² Π±Π°Π·Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ 10 ΡΠ°Π±Π»ΠΈΡ. ΠΠΏΠΈΡΠ΅ΠΌ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ .
Π’Π°Π±Π»ΠΈΡΠ° «ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ» ΠΈΠΌΠ΅Π΅Ρ 2 ΠΏΠΎΠ»Ρ: «ΠΠΎΠ΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ» ΠΈ «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ». «ΠΠΎΠ΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ» ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΠΏ, Π° «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ» — ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ.
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠΎΠ΄Π΅Π»Ρ» ΠΈΠΌΠ΅Π΅Ρ 3 ΠΏΠΎΠ»Ρ: «ΠΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ», «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ» ΠΈ «ΠΠΎΠ΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ (FK)». «ΠΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ» ΠΈ «ΠΠΎΠ΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ (FK)» ΠΈΠΌΠ΅ΡΡ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΠΏ, Π° «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ» — ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ. «ΠΠΎΠ΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ (FK)» — Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ «ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ» .
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΡ» ΠΈΠΌΠ΅Π΅Ρ 7 ΠΏΠΎΠ»Π΅ΠΉ: «ΠΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΠΈ», «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΠΈ», «ΠΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ (FK)», «Π¦Π΅Π½Π° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΠΈ», «ΠΠΎΠ΄ Π²ΡΠΏΡΡΠΊΠ°», «Π’ΠΈΠΏ ΠΏΡΠΈΠ²ΠΎΠ΄Π°» ΠΈ «Π’ΠΈΠΏ ΡΠΎΠΏΠ»ΠΈΠ²Π°». «ΠΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΠΈ», «ΠΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ (FK)», «Π¦Π΅Π½Π° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΠΈ» ΠΈ «ΠΠΎΠ΄ Π²ΡΠΏΡΡΠΊΠ°» ΠΈΠΌΠ΅ΡΡ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΠΏ, Π° «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΠΈ», «Π’ΠΈΠΏ ΠΏΡΠΈΠ²ΠΎΠ΄Π°» ΠΈ «Π’ΠΈΠΏ ΡΠΎΠΏΠ»ΠΈΠ²Π°» — ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ. «ΠΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ (FK)» — Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ «ΠΠΎΠ΄Π΅Π»Ρ» .
Π’Π°Π±Π»ΠΈΡΠ° «Π¦Π²Π΅Ρ» ΠΈΠΌΠ΅Π΅Ρ 3 ΠΏΠΎΠ»Ρ: «ΠΠΎΠ΄ ΡΠ²Π΅ΡΠ°», «Π’ΠΈΠΏ ΡΠ²Π΅ΡΠ°» ΠΈ «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ°» .
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠ»ΠΈΠ΅Π½Ρ» ΠΈΠΌΠ΅Π΅Ρ 5 ΠΏΠΎΠ»Π΅ΠΉ: «ΠΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°», «Π€Π°ΠΌΠΈΠ»ΠΈΡ», «ΠΠΌΡ», «ΠΡΡΠ΅ΡΡΠ²ΠΎ» ΠΈ «Π’Π΅Π»Π΅ΡΠΎΠ½» .
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠ²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ» ΠΈΠΌΠ΅Π΅Ρ 8 ΠΏΠΎΠ»Π΅ΠΉ: «ΠΠΎΠ΄ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ», «ΠΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (FK)», «ΠΠΎΠ΄ ΡΠ²Π΅ΡΠ° (FK)», «ΠΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΠΈ (FK)», «ΠΠ°ΡΠ° ΠΏΡΠΎΠ΄Π°ΠΆΠΈ», «Π’ΠΈΠΏ ΠΏΠΎΠΊΡΠΏΠΊΠΈ», «ΠΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΡΠΉ ΠΏΠ»Π°ΡΡΠΆ» ΠΈ «ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°ΡΡΡΠΎΡΠΊΠΈ» .
Π’Π°Π±Π»ΠΈΡΠ° «Π’ΠΈΠΏ Π°ΠΊΡΠ΅ΡΡΡΠ°ΡΠ°» ΠΈΠΌΠ΅Π΅Ρ 2 ΠΏΠΎΠ»Ρ: «ΠΠΎΠ΄ ΡΠΈΠΏΠ° Π°ΠΊΡΠ΅ΡΡΡΠ°ΡΠ°» ΠΈ «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π°ΠΊΡΠ΅ΡΡΡΠ°ΡΠ°» .
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠΊΡΠ΅ΡΡΡΠ°Ρ» ΠΈΠΌΠ΅Π΅Ρ 5 ΠΏΠΎΠ»Π΅ΠΉ: «ΠΠΎΠ΄ Π°ΠΊΡΠ΅ΡΡΡΠ°ΡΠ°», «ΠΠΎΠ΄ ΡΠΈΠΏΠ° Π°ΠΊΡΠ΅ΡΡΡΠ°ΡΠ° (FK)», «ΠΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ (FK)», «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π°ΠΊΡΠ΅ΡΡΡΠ°ΡΠ°» ΠΈ «Π¦Π΅Π½Π° Π°ΠΊΡΠ΅ΡΡΡΠ°ΡΠ°» .
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠ°ΡΠ²ΠΊΠ°» ΠΈΠΌΠ΅Π΅Ρ 3 ΠΏΠΎΠ»Ρ: «ΠΠΎΠ΄ Π·Π°ΡΠ²ΠΊΠΈ», «ΠΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (FK)» ΠΈ «ΠΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠΈ» .
Π’Π°Π±Π»ΠΈΡΠ° «ΠΡΠΎΠ΄Π°Π½Π½ΡΠΉ Π°ΠΊΡΠ΅ΡΡΡΠ°Ρ» ΠΈΠΌΠ΅Π΅Ρ 4 ΠΏΠΎΠ»Ρ: «ΠΠΎΠ΄ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ Π°ΠΊΡΠ΅ΡΡΡΠ°ΡΠ°», «ΠΠΎΠ΄ Π°ΠΊΡΠ΅ΡΡΡΠ°ΡΠ° (FK)», «ΠΠΎΠ΄ Π·Π°ΡΠ²ΠΊΠΈ (FK)» ΠΈ «ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ» .
3. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
3.1 Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
C++ BuilderΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (RAD), ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (IDE), ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++.ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Borland Software, Π° Π·Π°ΡΠ΅ΠΌ Π΅Ρ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ CodeGear, Π½ΡΠ½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Embarcadero Technologies. C++ Builder ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π² ΡΠ΅Π±Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ (STL, VCL, CLX, MFC ΠΈ Π΄Ρ.), ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. Π¦ΠΈΠΊΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ Delphi. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Π² Delphi, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π² C++ Builder Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π²Π΅ΡΠ½ΠΎ. C++ Builder ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ drag-and-drop Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ, ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌΡ WYSIWYG — ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΏΡ.
3.2 ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «ΠΠ²ΡΠΎΡΠ°Π»ΠΎΠ½»
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° BorlandC++ Builder 6.0, Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΏΠ°Π»ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ ΠΈΡ Π½ΠΈΠΆΠ΅:
— Π²ΠΊΠ»Π°Π΄ΠΊΠ° ADO, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TADOQuery;
— Π²ΠΊΠ»Π°Π΄ΠΊΠ° ADO, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TADOConnection;
— Π²ΠΊΠ»Π°Π΄ΠΊΠ° Additional, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡTImage;
— Π²ΠΊΠ»Π°Π΄ΠΊΠ° Standart, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TEdit;
— Π²ΠΊΠ»Π°Π΄ΠΊΠ° Standart, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TButton;
— Π²ΠΊΠ»Π°Π΄ΠΊΠ° Standart, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TLabel;
— Π²ΠΊΠ»Π°Π΄ΠΊΠ° Standart, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TComboBox.
3.2.1 ΠΠ»Π°Π²Π½ΡΠΉ ΡΠΊΡΠ°Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠ»Π°Π²Π½ΡΠΉ ΡΠΊΡΠ°Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΏΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌ. ΠΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΠΊΠ»Π°Π΄ΠΊΠ° Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
Π ΠΈΡΡΠ½ΠΎΠΊ 2 — ΠΠ»Π°Π²Π½ΡΠΉ ΡΠΊΡΠ°Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3.2.2 ΠΠΊΡΠ°Π½ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΠΊΡΠ°Π½ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΎΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π΅ Π±ΡΠ» ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½. ΠΡΠΎΡ ΡΠΊΡΠ°Π½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΈΠΉ ΡΠ°ΠΉΠ».
Π ΠΈΡΡΠ½ΠΎΠΊ 3 — ΠΠΊΡΠ°Π½ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ «…» ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π°:
Π ΠΈΡΡΠ½ΠΎΠΊ 4 — ΠΠΊΠ½ΠΎ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ» Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΡΠ°Π±Π»ΠΈΡ ΠΠ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
3.2.3 ΠΠΊΡΠ°Π½ «ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ»
ΠΠΊΡΠ°Π½ «ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ. ΠΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² TDBGrid ΠΈ TImage. Π TDBGrid ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ. ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ TImage ΠΎΡΠΎΠ±ΡΠΎΠΆΠ°Π΅ΡΡΡ Π»ΠΎΠ³ΠΎΡΠΈΠΏ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±Π΅ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΠΎΡΠΌΠ°ΡΠ° BMP. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΎ Π»ΠΎΠ³ΠΎΡΠΈΠΏ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 5 — ΠΡΠ°Π½ «ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ»
Π ΠΈΡΡΠ½ΠΎΠΊ 6 — ΠΡΠ°Π½ «ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ» ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ°
3.2.4 ΠΠΊΡΠ°Π½ «ΠΠ»ΠΈΠ΅Π½ΡΡ»
ΠΠΊΡΠ°Π½ «ΠΠ»ΠΈΠ΅Π½ΡΡ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ . ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠΈΠΏΠ° TDBGrid.
Π ΠΈΡΡΠ½ΠΎΠΊ 7 — ΠΠΊΡΠ°Π½ «ΠΠ»ΠΈΠ΅Π½ΡΡ»
3.2.5 ΠΠΊΡΠ°Π½ «Π¦Π²Π΅ΡΠ°»
ΠΠΊΡΠ°Π½ «Π¦Π²Π΅ΡΠ°» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²Π΅ΡΠ°Ρ . ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠΈΠΏΠ° TDBGrid.
Π ΠΈΡΡΠ½ΠΎΠΊ 8 — ΠΠΊΡΠ°Π½ «Π¦Π²Π΅ΡΠ°»
3.2.6 ΠΠΊΡΠ°Π½ «ΠΠΎΠ΄Π΅Π»Ρ»
ΠΠΊΡΠ°Π½ «ΠΠΎΠ΄Π΅Π»Ρ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ . ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠΈΠΏΠ° TDBGrid.
Π ΠΈΡΡΠ½ΠΎΠΊ 9 — ΠΠΊΡΠ°Π½ «ΠΠΎΠ΄Π΅Π»Ρ»
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΡΠ²ΠΎΠΈΠ» Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠ΅Π΄Π΅ C++ Builder, Π½Π°ΡΡΠΈΠ»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ. Π Π°Π·ΠΎΠ±ΡΠ°Π»ΡΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ C++ Builder Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ ΠΠ. ΠΠ°ΡΡΠΈΠ»ΡΡ ΡΡΡΠΎΠΈΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ·ΡΠΊΠ° SQL.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°
1) MSAccess;
2) Borland C++ Builder 6.0;
3) Π’Π΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ MSWord.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
1) ΠΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°
//—————————————————————————————————————;
#include
#pragma hdrstop
//—————————————————————————————————————;
USEFORM («MainUnit.cpp», MainForm);
USEFORM («DataBaseDataModuleUnit.cpp», DataBaseDataModule); /* TDataModule: File Type */
USEFORM («DialogsDataModuleUnit.cpp», DialogsDataModule); /* TDataModule: File Type */
USEFORM («PreviewUnit.cpp», PreviewForm);
//—————————————————————————————————————;
WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize ();
Application->CreateForm (__classid (TMainForm), &MainForm);
Application->CreateForm (__classid (TDataBaseDataModule), &DataBaseDataModule);
Application->CreateForm (__classid (TDialogsDataModule), &DialogsDataModule);
Application->CreateForm (__classid (TPreviewForm), &PreviewForm);
Application->Run ();
}
catch (Exception &exception)
{
Application->ShowException (&exception);
}
catch (…)
{
try
{
throw Exception (««);
}
catch (Exception &exception)
{
Application->ShowException (&exception);
}
}
return 0;
}
//—————————————————————————————————————;
2) ΠΠΎΠ΄ΡΠ»Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ
//—————————————————————————————————————;
#include
#pragma hdrstop
#include «MainUnit.h»
#include «DataBaseDataModuleUnit.h»
#include «DialogsDataModuleUnit.h»
#include «FunctionsUnit.h»
//—————————————————————————————————————;
#pragma package (smart_init)
#pragma resource «*.dfm»
TMainForm *MainForm;
//—————————————————————————————————————;
AnsiString DoubleSlash (AnsiString str);
void DataBaseConnection (AnsiString Path);
void ManufacturerButtonVisibleFalseAddEditDeleteTruePostCancel (TButton * ManufacturerAddButton, TButton * ManufacturerEditButton, TButton * ManufacturerDeleteButton, TButton * ManufacturerPostButton, TButton * ManufacturerCancelButton);
void ManufacturerButtonVisibleTrueAddEditDeleteFalsePostCancel (TButton * ManufacturerAddButton, TButton * ManufacturerEditButton, TButton * ManufacturerDeleteButton, TButton * ManufacturerPostButton, TButton * ManufacturerCancelButton);
//—————————————————————————————————————;
__fastcall TMainForm: TMainForm (TComponent* Owner)
: TForm (Owner)
{
}
//—————————————————————————————————————;
void __fastcall TMainForm: FormCreate (TObject *Sender)
{
MainForm->Position = poDesktopCenter;
PageControl->ActivePage = MainTabSheet;
if (!(DirectoryExists («Files»)))
{
MkDir («Files»);
}
if (!(DirectoryExists («Files\DataBase»)))
{
MkDir («Files\DataBase»);
}
}
//—————————————————————————————————————;
//——-ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
void __fastcall TMainForm: FormCloseQuery (TObject *Sender, bool &CanClose)
{
if (Application->MessageBox («ΠΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ?» ," ΠΡΡ ΠΎΠ΄", MB_YESNO + MB_ICONSTOP)==IDYES)
{
CanClose = True;
}
else
{
CanClose = False;
}
}
//—————————————————————————————————————;
void __fastcall TMainForm: DataBaseFilePathOpenDialogExecuteButtonClick (
TObject *Sender)
{
if (DialogsDataModule->DataBaseFilePathOpenDialog->Execute ())
{
FilePathEdit->Text = DialogsDataModule->DataBaseFilePathOpenDialog->FileName;
}
}
//—————————————————————————————————————;
void __fastcall TMainForm: FormShow (TObject *Sender)
{
DataBaseConnection («D:\Projects\BuilderProjects\CarShop\Files\DataBase\CarShopDataBase.mdb»);
ManufacturerDBGrid->DataSource = DataBaseDataModule->ManufacturerDataSource;
ManufacturerDBGrid->Options = TDBGridOptions (ManufacturerDBGrid->Options) >> dgEditing >> dgIndicator >> dgColumnResize;
//ManufacturerDBGrid->Columns->Add ();
//ManufacturerDBGrid->Columns->Add ();
//ManufacturerDBGrid->Columns->Add ();
//ManufacturerDBGrid->Columns->Items[0]->FieldName = «Title_Manufacturer» ;
//ManufacturerDBGrid->Columns->Items[0]->Title->Caption = «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅» ;
//ManufacturerDBGrid->Columns->Items[1]->Title->Caption = «ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ» ;
//ManufacturerDBGrid->Columns->Items[2]->Title->Caption = «ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ» ;
ManufacturerDBGrid->Columns->Items[0]->Width = (ManufacturerDBGrid->Width — 40)/3;
ManufacturerDBGrid->Columns->Items[1]->Visible = False;
//ManufacturerDBGrid->Columns->Items[1]->Width = (ManufacturerDBGrid->Width — 40)/3;
//ManufacturerDBGrid->Columns->Items[2]->Width = (ManufacturerDBGrid->Width — 40)/3;
//DataBaseDataModule->ManufacturerADOTable->Sort = «Title_Manufacturer ASC» ;
ModelDBGrid->DataSource = DataBaseDataModule->ModelDataSource;
ModelDBGrid->Options = TDBGridOptions (ModelDBGrid->Options) >> dgEditing >> dgIndicator >> dgColumnResize;
ModelDBGrid->Columns->Items[0]->Width = (ModelDBGrid->Width — 40)/2;
ModelDBGrid->Columns->Items[1]->Width = (ModelDBGrid->Width — 40)/2;
ColorDBGrid->DataSource = DataBaseDataModule->ColorDataSource;
ColorDBGrid->Options = TDBGridOptions (ColorDBGrid->Options) >> dgEditing >> dgIndicator >> dgColumnResize;
ColorDBGrid->Columns->Add ();
ColorDBGrid->Columns->Add ();
ColorDBGrid->Columns->Items[0]->FieldName = «Type_of_Color» ;
ColorDBGrid->Columns->Items[1]->FieldName = «Title_Color» ;
ColorDBGrid->Columns->Items[0]->Title->Caption = «Π’ΠΈΠΏ» ;
ColorDBGrid->Columns->Items[1]->Title->Caption = «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅» ;
ColorDBGrid->Columns->Items[0]->Width = (ColorDBGrid->Width — 40)/2;
ColorDBGrid->Columns->Items[1]->Width = (ColorDBGrid->Width — 40)/2;
ClientDBGrid->DataSource = DataBaseDataModule->ClientDataSource;
ClientDBGrid->Options = TDBGridOptions (ClientDBGrid->Options) >> dgEditing >> dgIndicator >> dgColumnResize;
ClientDBGrid->Columns->Add ();
ClientDBGrid->Columns->Add ();
ClientDBGrid->Columns->Add ();
ClientDBGrid->Columns->Add ();
ClientDBGrid->Columns->Items[0]->FieldName = «Forename» ;
ClientDBGrid->Columns->Items[1]->FieldName = «Surname» ;
ClientDBGrid->Columns->Items[2]->FieldName = «Patronymic» ;
ClientDBGrid->Columns->Items[3]->FieldName = «Telephone_number» ;
ClientDBGrid->Columns->Items[0]->Title->Caption = «Π€Π°ΠΌΠΈΠ»ΠΈΡ» ;
ClientDBGrid->Columns->Items[1]->Title->Caption = «ΠΠΌΡ» ;
ClientDBGrid->Columns->Items[2]->Title->Caption = «ΠΡΡΠ΅ΡΡΠ²ΠΎ» ;
ClientDBGrid->Columns->Items[3]->Title->Caption = «Π’Π΅Π»Π΅ΡΠΎΠ½» ;
ClientDBGrid->Columns->Items[0]->Width = (ClientDBGrid->Width — 40)/4;
ClientDBGrid->Columns->Items[1]->Width = (ClientDBGrid->Width — 40)/4;
ClientDBGrid->Columns->Items[2]->Width = (ClientDBGrid->Width — 40)/4;
ClientDBGrid->Columns->Items[3]->Width = (ClientDBGrid->Width — 40)/4;
}
//—————————————————————————————————————;
void __fastcall TMainForm: DataBaseConnectButtonClick (TObject *Sender)
{
DataBaseConnection (DoubleSlash (FilePathEdit->Text));
}
//—————————————————————————————————————;
void __fastcall TMainForm: ManufacturerEditButtonClick (TObject *Sender)
{
ManufacturerButtonVisibleFalseAddEditDeleteTruePostCancel (ManufacturerAddButton, ManufacturerEditButton, ManufacturerDeleteButton, ManufacturerPostBitBtn, ManufacturerCancelBitBtn);
}
//—————————————————————————————————————;
void __fastcall TMainForm: ManufacturerDeleteButtonClick (TObject *Sender)
{
ManufacturerButtonVisibleFalseAddEditDeleteTruePostCancel (ManufacturerAddButton, ManufacturerEditButton, ManufacturerDeleteButton, ManufacturerPostBitBtn, ManufacturerCancelBitBtn);
}
//—————————————————————————————————————;
void __fastcall TMainForm: ManufacturerDBGridTitleClick (TColumn *Column)
{ /*
if (Column->FieldName == «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅»)
{
DataBaseDataModule->ManufacturerADOQuery->Active = False;
DataBaseDataModule->ManufacturerADOQuery->SQL->Clear ();
if (Edit1->Text ≠ «SELECT Title_Manufacturer AS ΠΠ°Π·Π²Π°Π½ΠΈΠ΅, Logo FROM Manufacturer ORDER BY Title_Manufacturer ASC»)
{
DataBaseDataModule->ManufacturerADOQuery->SQL->Add («SELECT Title_Manufacturer AS ΠΠ°Π·Π²Π°Π½ΠΈΠ΅, Logo FROM Manufacturer ORDER BY Title_Manufacturer DESC»);
}
else
{
DataBaseDataModule->ManufacturerADOQuery->SQL->Add («SELECT Title_Manufacturer AS ΠΠ°Π·Π²Π°Π½ΠΈΠ΅, Logo FROM Manufacturer ORDER BY Title_Manufacturer ASC»);
}
DataBaseDataModule->ManufacturerADOQuery->Open ();
DataBaseDataModule->ManufacturerADOQuery->Active = True;
ManufacturerDBGrid->Columns->Items[0]->Width = (ManufacturerDBGrid->Width — 40)/3;
} */
/*if (AnsiString (DataBaseDataModule->ManufacturerADOTable->Sort) == «Title_Manufacturer ASC»)
{
DataBaseDataModule->ManufacturerADOTable->Sort = «Title_Manufacturer DESC» ;
}
else
{
DataBaseDataModule->ManufacturerADOTable->Sort = «Title_Manufacturer ASC» ;
}
*/
}
//—————————————————————————————————————;
void __fastcall TMainForm: ManufacturerPostBitBtnClick (TObject *Sender)
{
ManufacturerButtonVisibleTrueAddEditDeleteFalsePostCancel (ManufacturerAddButton, ManufacturerEditButton, ManufacturerDeleteButton, ManufacturerPostBitBtn, ManufacturerCancelBitBtn);
}
//—————————————————————————————————————;
void __fastcall TMainForm: ManufacturerCancelBitBtnClick (TObject *Sender)
{
ManufacturerButtonVisibleTrueAddEditDeleteFalsePostCancel (ManufacturerAddButton, ManufacturerEditButton, ManufacturerDeleteButton, ManufacturerPostBitBtn, ManufacturerCancelBitBtn);
}
//—————————————————————————————————————;
void __fastcall TMainForm: ManufacturerButtonClick (TObject *Sender)
{
PageControl->ActivePage = ManufacturerTabSheet;
}
//—————————————————————————————————————;
void __fastcall TMainForm: ModelButtonClick (TObject *Sender)
{
PageControl->ActivePage = ModelTabSheet;
}
//—————————————————————————————————————;
void __fastcall TMainForm: ClientButtonClick (TObject *Sender)
{
PageControl->ActivePage = ClientTabSheet;
}
//—————————————————————————————————————;
void __fastcall TMainForm: CarButtonClick (TObject *Sender)
{
PageControl->ActivePage = CarTabSheet;
}
//—————————————————————————————————————;
void __fastcall TMainForm: GradeButtonClick (TObject *Sender)
{
PageControl->ActivePage = GradeTabSheet;
}
//—————————————————————————————————————;
void __fastcall TMainForm: AccessoryButtonClick (TObject *Sender)
{
PageControl->ActivePage = AccessoryTabSheet;
}
//—————————————————————————————————————;
void __fastcall TMainForm: ColorButtonClick (TObject *Sender)
{
PageControl->ActivePage = ColorTabSheet;
}
//—————————————————————————————————————;
3) ΠΠΎΠ΄ΡΠ»Ρ Π΄Π°Π½Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
//—————————————————————————————————————;
#include
#pragma hdrstop
#include «DataBaseDataModuleUnit.h»
#include «MainUnit.h»
#include «FunctionsUnit.h»
//—————————————————————————————————————;
#pragma package (smart_init)
#pragma resource «*.dfm»
TDataBaseDataModule *DataBaseDataModule;
//—————————————————————————————————————;
AnsiString DoubleSlash (AnsiString str);
//—————————————————————————————————————;
__fastcall TDataBaseDataModule: TDataBaseDataModule (TComponent* Owner)
: TDataModule (Owner)
{
}
//—————————————————————————————————————;
void __fastcall TDataBaseDataModule: ManufacturerADOTableAfterScroll (
TDataSet *DataSet)
{
/*if (DataSet->FieldByName («Logo»)->AsString ≠ «»)
{
MainForm->ManufacturerLogoImage->Picture->LoadFromFile (DoubleSlash (ExtractFilePath (Application->ExeName))+" Files" +String (Char (92))+String (Char (92))+" Pictures" +String (Char (92))+String (Char (92))+" ManufacturerLogos" +String (Char (92))+String (Char (92))+DoubleSlash (DataSet->FieldByName («Logo»)->AsString));
}
else
{
MainForm->ManufacturerLogoImage->Picture->LoadFromFile (DoubleSlash (ExtractFilePath (Application->ExeName))+" Files" +String (Char (92))+String (Char (92))+" Pictures" +String (Char (92))+String (Char (92))+" ManufacturerLogos" +String (Char (92))+String (Char (92))+" nologo. bmp");
} */
}
//—————————————————————————————————————;
void __fastcall TDataBaseDataModule: ManufacturerADOQueryAfterScroll (
TDataSet *DataSet)
{
if (ManufacturerADOQuery->Active == True) {
if (DataSet->FieldByName («Logo»)->AsString ≠ «»)
{
MainForm->ManufacturerLogoImage->Picture->LoadFromFile (DoubleSlash (ExtractFilePath (Application->ExeName))+" Files" +String (Char (92))+String (Char (92))+" Pictures" +String (Char (92))+String (Char (92))+" ManufacturerLogos" +String (Char (92))+String (Char (92))+DoubleSlash (DataSet->FieldByName («Logo»)->AsString));
}
else
{
MainForm->ManufacturerLogoImage->Picture->LoadFromFile (DoubleSlash (ExtractFilePath (Application->ExeName))+" Files" +String (Char (92))+String (Char (92))+" Pictures" +String (Char (92))+String (Char (92))+" ManufacturerLogos" +String (Char (92))+String (Char (92))+" nologo. bmp");
} }
}
//—————————————————————————————————————;
4) ΠΠΎΠ΄ΡΠ»Ρ Π΄Π°Π½Π½ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²
//—————————————————————————————————————;
#include
#pragma hdrstop
#include «DialogsDataModuleUnit.h»
//—————————————————————————————————————;
#pragma package (smart_init)
#pragma resource «*.dfm»
TDialogsDataModule *DialogsDataModule;
//—————————————————————————————————————;
__fastcall TDialogsDataModule: TDialogsDataModule (TComponent* Owner)
: TDataModule (Owner)
{
}
//—————————————————————————————————————;
5) ΠΠΎΠ΄ΡΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ
//—————————————————————————————————————;
#pragma hdrstop
#include «FunctionsUnit.h»
#include «DataBaseDataModuleUnit.h»
//—————————————————————————————————————;
#pragma package (smart_init)
//—————————————————————————————————————;
AnsiString DoubleSlash (AnsiString str)
{
return StringReplace (str, String (Char (92)), String (Char (92))+String (Char (92)), TReplaceFlags ()<
}
//—————————————————————————————————————;
void DataBaseConnection (AnsiString Path)
{
DataBaseDataModule->ADOConnection->Connected = False;
DataBaseDataModule->ADOConnection->ConnectionString = «Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Path+» ;Persist Security Info=False" ;
DataBaseDataModule->ADOConnection->LoginPrompt = False;
DataBaseDataModule->ADOConnection->Connected = True;
//DataBaseDataModule->ManufacturerADOTable->Connection = DataBaseDataModule->ADOConnection;
//DataBaseDataModule->ManufacturerADOTable->TableName = «Manufacturer» ;
//DataBaseDataModule->ManufacturerADOTable->Active = True;
//DataBaseDataModule->ManufacturerDataSource->DataSet = DataBaseDataModule->ManufacturerADOTable;
DataBaseDataModule->ManufacturerADOQuery->Connection = DataBaseDataModule->ADOConnection;
DataBaseDataModule->ManufacturerADOQuery->Active = False;
DataBaseDataModule->ManufacturerADOQuery->SQL->Clear ();
DataBaseDataModule->ManufacturerADOQuery->SQL->Add («SELECT Title_Manufacturer As ΠΠ°Π·Π²Π°Π½ΠΈΠ΅, Logo FROM Manufacturer ORDER BY Title_Manufacturer»);
DataBaseDataModule->ManufacturerADOQuery->Open ();
DataBaseDataModule->ManufacturerADOQuery->Active = True;
DataBaseDataModule->ManufacturerDataSource->DataSet = DataBaseDataModule->ManufacturerADOQuery;
DataBaseDataModule->ModelADOQuery->Connection = DataBaseDataModule->ADOConnection;
DataBaseDataModule->ModelADOQuery->Active = False;
DataBaseDataModule->ModelADOQuery->SQL->Clear ();
DataBaseDataModule->ModelADOQuery->SQL->Add («SELECT Manufacturer. Title_Manufacturer As [ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ], Model. Title_Model AS [ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ] FROM Manufacturer, Model WHERE Manufacturer. Code_Manufacturer = Model. FK_Code_Manufacturer»);
DataBaseDataModule->ModelADOQuery->Open ();
DataBaseDataModule->ModelADOQuery->Active = True;
DataBaseDataModule->ModelDataSource->DataSet = DataBaseDataModule->ModelADOQuery;
DataBaseDataModule->ColorADOTable->Active = False;
DataBaseDataModule->ColorADOTable->Connection = DataBaseDataModule->ADOConnection;
DataBaseDataModule->ColorADOTable->TableName = «Color» ;
DataBaseDataModule->ColorADOTable->Active = True;
DataBaseDataModule->ColorDataSource->DataSet = DataBaseDataModule->ColorADOTable;
DataBaseDataModule->ClientADOTable->Active = False;
DataBaseDataModule->ClientADOTable->Connection = DataBaseDataModule->ADOConnection;
DataBaseDataModule->ClientADOTable->TableName = «Client» ;
DataBaseDataModule->ClientADOTable->Active = True;
DataBaseDataModule->ClientDataSource->DataSet = DataBaseDataModule->ClientADOTable;
}
//—————————————————————————————————————;
void ManufacturerButtonVisibleFalseAddEditDeleteTruePostCancel (TButton * ManufacturerAddButton, TButton * ManufacturerEditButton, TButton * ManufacturerDeleteButton, TButton * ManufacturerPostButton, TButton * ManufacturerCancelButton)
{
ManufacturerAddButton->Visible = False;
ManufacturerEditButton->Visible = False;
ManufacturerDeleteButton->Visible = False;
ManufacturerPostButton->Visible = True;
ManufacturerCancelButton->Visible = True;
}
//—————————————————————————————————————;
void ManufacturerButtonVisibleTrueAddEditDeleteFalsePostCancel (TButton * ManufacturerAddButton, TButton * ManufacturerEditButton, TButton * ManufacturerDeleteButton, TButton * ManufacturerPostButton, TButton * ManufacturerCancelButton)
{
ManufacturerAddButton->Visible = True;
ManufacturerEditButton->Visible = True;
ManufacturerDeleteButton->Visible = True;
ManufacturerPostButton->Visible = False;
ManufacturerCancelButton->Visible = False;
}
//—————————————————————————————————————;