ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… «Магазин ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉΒ»

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎΠ΅ прСимущСство MS Access Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹Ρ… встроСнных срСдствах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, распространяСмых срСди ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, содСрТит Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ объСм ΠΊΠΎΠ΄Π° VBA (Visual Basic for Applications). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ VBA являСтся СдинствСнным срСдством для выполнСния ΠΌΠ½ΠΎΠ³ΠΈΡ… стандартных Π·Π°Π΄Π°Ρ‡ Π² Access (Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, построСниС ΠΊΠΎΠΌΠ°Π½Π΄ SQL Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… «Магазин ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉΒ» (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ
  • 1.1 Π‘Π£Π‘Π” Microsoft Office Access
  • 1.2 ВСхнология ADO
  • 1.3 Π―Π·Ρ‹ΠΊ SQL
  • 2. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ
  • 2.1 ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹
  • 2.3 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘Π” «ΠœΠ°Π³Π°Π·ΠΈΠ½ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ» Π² ΡΡ€Π΅Π΄Π΅ Π‘Π£Π‘Π” Microsoft Office Access
  • 2.4 Ѐормализация ΠΈ ΠΏΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ
  • 2.5 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ER-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ
  • 2.6 Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
  • 2.7 Π‘Ρ…Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ
  • 3. Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 3.1 АрхитСктура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ комплСкса
  • 3.2 ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ систСмныС трСбования
  • 3.3 Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок использованной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

МоТно с Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ достовСрности ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для выполнСния хотя Π±Ρ‹ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ, Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, упорядочСнныС Π΄Π°Π½Π½Ρ‹Π΅. Π’Π°ΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, списки Π·Π°ΠΊΠ°Π·ΠΎΠ² Π½Π° Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΠ²Π°Ρ€, списки ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΠ»Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… счСтов ΠΈΠ»ΠΈ список Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Ρ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ². ΠžΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ расписаниС двиТСния автобусов Π² Π³ΠΎΡ€ΠΎΠ΄Π΅ — это Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ упорядочСнных Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, упорядочСнныС ΠΊΠ°ΠΊΠΈΠΌ Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Π΅ принято Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… — особых Ρ„Π°ΠΉΠ»Π°Ρ…, использованиС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вмСстС со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ срСдствами позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΈ, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Сю, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ, ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚. Π΄.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄Π°Ρ‚ΡŒ простоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… — это поимСнованная ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ структурированных Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.

Учитывая ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡƒΡŽ Тизнь, Ρ‚Π°ΠΊΠΈΠ΅ учрСТдСния ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для хранСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (информация ΠΎ ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…, Π·Π°ΠΊΠ°Π·Π°Ρ… ΠΈ Ρ‚. Π΄.).

ЦСлью курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся созданиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ большого количСства Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π—Π°Π΄Π°Ρ‡Π°ΠΌΠΈ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся систСматизация, Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ тСорСтичСских ΠΈ ΠΏΡ€Π°ΠΊΡ‚ичСских Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡŽ собствСнных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, примСняя систСму ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования Delphi, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ² вСдСния ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π’ Π΄Π°Π½Π½ΠΎΠΌ курсовом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ исслСдования являСтся ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ.

1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

1.1 Π‘Π£Π‘Π” Microsoft Office Access

Microsoft Access являСтся Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π‘Π£Π‘Π” (систСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…) рСляционного Ρ‚ΠΈΠΏΠ°. Достоинством Access являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ простой графичСский интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ встроСнныС срСдства.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π‘Π£Π‘Π”, Access Ρ…Ρ€Π°Π½ΠΈΡ‚ всС Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, хотя ΠΈ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΈΡ… ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ рСляционной Π‘Π£Π‘Π”. К ΡΡ‚ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относится Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ информация Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, Π½ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ описаны Π½ΠΈΠΆΠ΅.

Для выполнСния ΠΏΠΎΡ‡Ρ‚ΠΈ всСх основных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Access ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ большоС количСство ΠœΠ°ΡΡ‚Π΅Ρ€ΠΎΠ² (Wizards), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π·Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… дСйствий ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π΅ΠΈΡΠΊΡƒΡˆΠ΅Π½Π½ΠΎΠΌΡƒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ MS Access, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚авлСния ΠΎΠ± «ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΠΎΠΉ» рСляционной Π‘Π£Π‘Π”. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π‘Π” Access ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ доступа Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ΄Π½ΠΎΡ€Π°Π½Π³ΠΎΠ²ΠΎΠΉ сСти ΠΈΠ»ΠΈ Π² ΡΠ΅Ρ‚ΠΈ с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌ сСрвСром. Π‘Π΅Ρ‚ΡŒ обСспСчиваСт Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ. Access слСдит Π·Π° Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ доступа Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊ Π‘Π” ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ Access Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΊΠ»ΠΈΠ΅Π½Ρ‚ сСрвСрной Π‘Π£Π‘Π”, возмоТности Π΅Π³ΠΎ ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ нСсколько ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ для доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΡΠ΅Ρ‚ΠΈ с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станций, Ρ„Π°ΠΉΠ» Π‘Π” Access (с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *. mdb ΠΈΠ»ΠΈ *. accdb) выкладываСтся Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ сСрвСр. ΠŸΡ€ΠΈ этом ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… вСдСтся Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ — Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΡΠΈΠ»Ρƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π‘Π£Π‘Π”. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚ΠΎΡ€ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ использованиС Access для обСспСчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ мноТСства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (Π±ΠΎΠ»Π΅Π΅ 15−20) ΠΈ ΠΏΡ€ΠΈ большом количСствС Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ возрастаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π΅ ΡΠ΅Ρ‚ΡŒ.

Π’ ΠΏΠ»Π°Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ цСлостности Π΄Π°Π½Π½Ρ‹Ρ… Access ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ модСлям Π‘Π” нСбольшой ΠΈ ΡΡ€Π΅Π΄Π½Π΅ΠΉ слоТности. Π’ Π½Π΅ΠΌ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ срСдства ΠΊΠ°ΠΊ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ ΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ‡Ρ‚ΠΎ заставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π²ΠΎΠ·Π»Π°Π³Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ бизнСс Π»ΠΎΠ³ΠΈΠΊΠΈ Π‘Π” Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π’ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ доступа Access Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… стандартных срСдств. Π’ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ способы Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π°Ρ‰ΠΈΡ‚Π° с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ пароля Π‘Π” ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ пароля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. БнятиС Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСт слоТности для спСциалиста.

Однако ΠΏΡ€ΠΈ извСстных нСдостатках MS Access ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большим количСством прСимущСств ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΡΠΈΡΡ‚Π΅ΠΌΠ°ΠΌΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ класса.

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒ, которая обусловлСна Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Access являСтся ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ большая Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². MS Access ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстим с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Windows, постоянно обновляСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство языков.

Π’ Ρ†Π΅Π»ΠΎΠΌ MS Access прСдоставляСт большоС количСство возмоТностСй Π·Π° ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля с Ρ€Π°Π·Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ выраТаСтся Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ большого количСства Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… срСдств (ΠœΠ°ΡΡ‚Π΅Ρ€ΠΎΠ², ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ), Ρ€Π°Π·Π²ΠΈΡ‚ΡƒΡŽ систСму справки ΠΈ ΠΏΠΎΠ½ΡΡ‚Π½Ρ‹ΠΉ интСрфСйс. Π­Ρ‚ΠΈ срСдства ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, созданиС Π‘Π” ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π½Π΅Π΅.

Π±Π°Π·Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ° Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ

MS Access прСдоставляСт Π² Ρ€Π°ΡΠΏΠΎΡ€ΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ срСдства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΅ΠΌΡƒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния Π½Π΅ ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запросов Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ SQL ΠΈΠ»ΠΈ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ макросов ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ VBA.

Access ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ возмоТностями ΠΏΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρƒ/экспорту Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ† Excel ΠΈ Ρ‚Скстовых Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎ ΠΏΡ€Π°ΠΊΡ‚ичСски любой сСрвСрной Π‘Π£Π‘Π” Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ODBC.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎΠ΅ прСимущСство MS Access Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹Ρ… встроСнных срСдствах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, распространяСмых срСди ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, содСрТит Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ объСм ΠΊΠΎΠ΄Π° VBA (Visual Basic for Applications). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ VBA являСтся СдинствСнным срСдством для выполнСния ΠΌΠ½ΠΎΠ³ΠΈΡ… стандартных Π·Π°Π΄Π°Ρ‡ Π² Access (Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, построСниС ΠΊΠΎΠΌΠ°Π½Π΄ SQL Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок, использованиС Windows API ΠΈ Ρ‚. Π΄.), для создания Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ слоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ Π·Π½Π°Π½ΠΈΠ΅ ΠΈ Π·Π½Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ MS Access.

Одним ΠΈΠ· ΡΡ€Π΅Π΄ΡΡ‚Π² программирования Π² Access являСтся язык ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, созданныС Π½Π° ΡΡ‚ΠΎΠΌ языкС, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ макросами ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ дСйствия, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΠΎΡ€ΠΌ, запросов, ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ². ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ событиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ дСйствиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΏΡ€ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ систСмными событиями.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ Ρ‡Ρ‚ΠΎ Access, обладая всСми Ρ‡Π΅Ρ€Ρ‚Π°ΠΌΠΈ Π‘Π£Π‘Π”, прСдоставляСт ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ гибкая ΠΈ ΠΏΡ€ΠΎΡΡ‚ая Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π‘Π£Π‘Π”, Π½ΠΎ ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΠ° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

1.2 ВСхнология ADO

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Microsoft ActiveX Data Objects (ADO) Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появились Π² ΡΡ€Π΅Π΄Π΅ Delphi вСрсии 5.

ADO — это тСхнология стандартного обращСния ΠΊ Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ структурам Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ Microsoft. Она Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° BDE ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΈ ΡΡ€ΠΎΠ΄Π½ΠΈ Π΅ΠΌΡƒ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ям.

Π’ ΠΎΡΠ½ΠΎΠ²Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ADO Π»Π΅ΠΆΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² COM (Component Object Model). ВсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΈΠ½Ρ‚СрфСйсы ADO ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой интСрфСйсы ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ БОМ.

МодСль БОМ являСтся Π±Π°Π·ΠΎΠ²ΠΎΠΉ для Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ActiveX ΠΈ OLE. ΠŸΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° TObject, ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для VC L Delphi.

ВСхнология БОМ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ БОМ-ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ БОМ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Delphi. Но, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ…, БОМ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ поля, Π² Π½ΠΈΡ… находятся лишь свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ интСрфСйсы.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ — это Π³Ρ€ΡƒΠΏΠΏΡ‹ логичСски ΠΈΠ»ΠΈ сСмантичСски связанных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ связь ΠΌΠ΅ΠΆΠ΄Ρƒ поставщиком услуги (сСрвСром) ΠΈ Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. Названия интСрфСйсов Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π±ΡƒΠΊΠ²Ρ‹ I.

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ БОМ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько интСрфСйсов. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, БОМ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ содСрТит ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌ.

ВСхнология БОМ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° явных плюса:

Β· созданиС БОМ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ‚ ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠ° программирования. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, БОМ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках;

Β· БОМ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ для использования Π² Π»ΡŽΠ±ΠΎΠΉ срСдС программирования ΠΏΠΎΠ΄ Windows. Π’ Ρ‡ΠΈΡΠ»ΠΎ этих срСд входятDelphi, Visual Π‘++, Π‘++ Builder, Visual Basic ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•: Π₯отя тСхнология БОМ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ достоинства, Π΅ΠΉ ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅Π½Π½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΌΠΈΠ½ΡƒΡΡ‹, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚Π° тСхнология ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows ΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Intel.

ВСхнология БОМ рСализуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ БОМ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ (Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, ΠΊΠ°ΠΊ OLE32. DLL ΠΈ OLEAUT32. DLL). БОМ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ содСрТат Π½Π°Π±ΠΎΡ€ стандартных интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ БОМ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ нСбольшой Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ API, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… созданиС БОМ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ.

Π’ Delphi Π²ΠΎΠΏΠ»ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ БОМ называСтся Delphi ActiveX framework, DAX. РСализация DAX описана Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ AxCtrls.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ основныС интСрфСйсы ADO ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎ поясним ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

Β· интСрфСйс IConnection выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Β· осущСствляСт связь с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ;

Β· управляСт транзакциями;

Β· ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… (свойство Errors);

Β· ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΡΡ…Π΅ΠΌΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… (Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, поля ΠΈ Ρ‚. Π΄.);

Β· интСрфСйс IRecordset (Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ADO это IRowset) являСтся Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ TDataSet Π² Delphi ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ курсора, Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ (Bookmarks), Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй ΠΈ Ρ‚. ΠΏ.;

Β· интСрфСйс IReld позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля, Π΅Π³ΠΎ Ρ‚ΠΈΠΏ, Π΄Π»ΠΈΠ½Ρƒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свСдСния ΠΎ ΠΏΠΎΠ»Π΅ Π΄Π°Π½Π½Ρ‹Ρ…;

Β· интСрфСйсы ICommand ΠΈ IParameter ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ источника Π΄Π°Π½Π½Ρ‹Ρ…. Бинтаксис ΠΊΠΎΠΌΠ°Π½Π΄ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΎΠ² свой собствСнный;

Β· интСрфСйс IProperty позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, спСцифичСскиС для ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° Π΄Π°Π½Π½Ρ‹Ρ….

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ADO Π² Delphi 7 ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ сСмь стандартных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², располоТСнных Π½Π° Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ ADO ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ называСтся ADOConnection. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Database Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ BDE. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ADOConnection ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ мСстополоТСниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚ранзакциями. Рассмотрим основныС свойства ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ADOConnection, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Π² ΠΎΠΊΠ½Π΅ инспСктора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ADO называСтся ADOCommand. Он ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для выполнСния SQL-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π΅Π· Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…

Π’Ρ€Π΅Ρ‚ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ADO — ADODataSet. Π•Π³ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ для отобраТСния Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ вмСсто ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ADOTable, ADOQuery ΠΈΠ»ΠΈ ADOStoredProc.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ADO называСтся ADOTable. Он ΡΠ²Π»ΡΠ΅Ρ‚ся Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Table, располоТСнного Π½Π° Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ BDE, ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для доступа ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ADO. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ADOTable ΠΈΠΌΠ΅Π΅Ρ‚ свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΡƒΠΆΠ΅ рассматривали Ρ€Π°Π½Π΅Π΅ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… Table ΠΈ ADODataSet, поэтому ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ Π΅Ρ‰Π΅ Ρ€Π°Π·.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ADOQuery прСдставляСт собой запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ запрос, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π±Π°Π·Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SELECT), Ρ‚Π°ΠΊ ΠΈ Π·Π°ΠΏΡ€ΠΎΡ, Π½Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, INSERT). ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Query ΠΈΠ· BDE. ВсС основныС Π΅Π³ΠΎ свойства ΠΌΡ‹ ΡƒΠΆΠ΅ рассматривали Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ свойств ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Query Π½ ADODataSet

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ADOStoredProc ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ BDE ΠΈ InterBase Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² ADO ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, поэтому ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° являСтся ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ DataSet ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ источником Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… Ρ‚ΠΈΠΏΠ° DataSource.

ПослСдний ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ADO называСтся RDSConnection. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ управляСт ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° Π½Π°Π±ΠΎΡ€ записСй пСрСносится ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•: ΠœΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… называСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, располоТСнным Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ адрСсном пространствС ΠΈΠ»ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

На ΡΠΎΠ±Ρ‹Ρ‚ия Π² ADO Π²ΠΎΠ·Π»Π°Π³Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ Π½Π° ΡΠΎΠ±Ρ‹Ρ‚ия Π² VCL. МногиС ΠΈΠ· ΡΠΎΠ±Ρ‹Ρ‚ΠΈΠΉ ADO ΠΈΠΌΠ΅ΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈ Π² VCL, ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΈΠ· ΡΠΎΠ±Ρ‹Ρ‚ΠΈΠΉ ADO события VCL.

ВсС события Π² ADO условно Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ Π³Ρ€ΡƒΠΏΠΏ: события соСдинСния, события Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, события выполнСния ΠΊΠΎΠΌΠ°Π½Π΄. Бобытия соСдинСния:

Β· OnWillConnect — вызываСтся ΠΏΠ΅Ρ€Π΅Π΄ установкой соСдинСния;

Β· OnConnectComplete — вызываСтся послС установки соСдинСния;

Β· OnDisconnect — активируСтся ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²Π΅ соСдинСния. Π­Ρ‚ΠΈ события инкапсулированы Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ADOConnection. Бобытия Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ:

Β· OnBeginTransComplete — происходят ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ BeginTrans;

Β· OnCommitTransComplete — происходят ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ CommitTrans;

Β· OnRollbackTransComplete — Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ RollbackTrans.

Бобытия Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ инкапсулированы Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ADOConnection. Бобытия выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ OnWillExecute ΠΈ OnExecuteComplete Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ соотвСтствСнно.

Π­Ρ‚ΠΈ события «Π·Π°ΡˆΠΈΡ‚Ρ‹» Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ADOConnection, Π° Π½Π΅ Π² ADOCommand, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ. Указанная «ΡΡ‚Ρ€Π°Π½Π½ΠΎΡΡ‚ΡŒ» связана с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² ADO ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅Ρ‚, ΠΈ ΠΏΠΎ ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сообщСния.

Π’ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ADOConnection Ρ‚Π°ΠΊΠΆΠ΅ встроСно событиС OnlnfoMessage, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ вызываСтся ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° с ΡΠ΅Ρ€Π²Π΅Ρ€Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ зависят ΠΎΡ‚ ΡΠ΅Ρ€Π²Π΅Ρ€Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.

Π’ ADO Π΅ΡΡ‚ΡŒ ΠΈ ΡΠΎΠ±Ρ‹Ρ‚ия, связанныС с Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ с ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅. Они инкапсулированы Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: ADODataSet, ADOTable, ADOQuery ΠΈ ADOStoredProc.

Π­Ρ‚ΠΈ события ΠΌΠΎΠΆΠ½ΠΎ условно Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹.

Бобытия Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Β· OnFetchProgress — ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ вызываСтся Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…;

Β· OnFetchComplete — Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.

Β· УвСдомлСния ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ полоТСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи Π² Π½Π°Π±ΠΎΡ€Π΅:

Β· OnWillMove — вызываСтся Π΄ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ полоТСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ дСйствиС;

Β· OnMoveComplete — вызываСтся послС измСнСния полоТСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи;

Β· OnEndOfRecordset — гСнСрируСтся ΠΏΡ€ΠΈ достиТСнии ΠΊΠΎΠ½Ρ†Π° Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ запись.

УвСдомлСния ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ….

Β· OnWillChangeField, OnFieldChangeComplete — Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ измСнСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи Π½Π°Π±ΠΎΡ€Π°;

Β· OnWillChangeRecord, OnRecordChangeComplete — Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ измСнСния, добавлСния, удалСния строки Π½Π°Π±ΠΎΡ€Π° ΠΈ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Π΅ этих дСйствий;

Β· OnWillChangeRecordset, OnRecordsetChangeComplete — Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ открытия, закрытия, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ запроса ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ….

МногиС события Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ дСйствия. Π­Ρ‚Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡ€ΠΈ асинхронной Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для прСрывания слишком Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ запроса.

Π’ ADO Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² Π½ΠΈ Π² BDE, Π½ΠΈ Π² InterBase. Π­Ρ‚ΠΎ асинхронноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ. Асинхронно ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ:

Β· установка соСдинСния с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ (Connection);

Β· Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Execute);

Β· Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… (Fetch).

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ этого Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ свойству ConnectOptions ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ADOConnection Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ coAsyncConnect.

ΠŸΡ€ΠΈ установлСнии соСдинСния происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Β· вызываСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnWillConnect;

Β· ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

Β· ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ соСдинСния, ΠΊΠ°ΠΊ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΈ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ, вызываСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnConnectComplete.

Надо Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ADO ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ SQL. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ ADOCommand, ADODataSet, ADOTable, ADOQuery ΠΈ ADOStoredProc. Для асинхронного выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ установитС Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅ ExecuteOptions Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ coAsyncExecute. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Β· вызовСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnWillExecute;

Β· ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдастся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ПослС окончания выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠ°ΠΊ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΈ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ, вызываСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnExecuteComplete.

1.3 Π―Π·Ρ‹ΠΊ SQL

SQL (Π°Π½Π³Π». structured query language — «ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык запросов») — Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π΅ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ язык программирования, примСняСмый для создания, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ рСляционной Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, управляСмой ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ систСмой управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π£Π‘Π”). SQL основываСтся Π½Π° ΠΈΡΡ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ.

Π’ Π½Π°Ρ‡Π°Π»Π΅ 1970;Ρ… Π³ΠΎΠ΄ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ IBM Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ рСляционная Π‘Π£Π‘Π” IBM System R, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Ρ‚Π΅ΠΌ Π±Ρ‹Π» создан ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык SEQUEL, позволявший ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просто ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΡΡ‚ΠΎΠΉ Π‘Π£Π‘Π”. АббрСвиатура SEQUEL Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π»Π°ΡΡŒ ΠΊΠ°ΠΊ Structured English QUEry Language — «ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ английский язык запросов». ПозТС ΠΏΠΎ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΌ сообраТСниям язык SEQUEL Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² SQL. Когда Π² 1986 Π³ΠΎΠ΄Ρƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ стандарт языка SQL Π±Ρ‹Π» принят ANSI (American National Standards Institute), ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ стало [, es kju: ' el] - эс-кью-эл. НСсмотря Π½Π° ΡΡ‚ΠΎ, Π΄Π°ΠΆΠ΅ англоязычныС спСциалисты Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ SQL ΠΊΠ°ΠΊ сиквСл (ΠΏΠΎ-русски часто говорят «ΡΡ-ΠΊΡƒ-эль» ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΆΠ°Ρ€Π³ΠΎΠ½ΠΈΠ·ΠΌ «ΡΠΊΡƒΠ»ΡŒ»).

ЦСлью Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Ρ‹Π»ΠΎ созданиС простого Π½Π΅ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠ³ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ любой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π½Π°Π²Ρ‹ΠΊΠΎΠ² программирования. БобствСнно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ языка запросов занимались Π”ΠΎΠ½Π°Π»ΡŒΠ΄ Чэмбэрлин (Donald D. Chamberlin) ΠΈ Π ΡΠΉ Бойс (Ray Boyce). ΠŸΡΡ‚ Π‘Π΅Π»ΠΈΠ½Π΄ΠΆΠ΅Ρ€ (Pat Selinger) занималась Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ стоимостного ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° (cost-based optimizer), Рэймонд Π›ΠΎΡ€ΠΈ (Raymond Lorie) занимался компилятором запросов.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ SEQUEL Π±Ρ‹Π» Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΌ языком ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ назначСния. Π’ ΠšΠ°Π»ΠΈΡ„орнийском УнивСрситСтС Π‘Π΅Ρ€ΠΊΠ»ΠΈ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° нСкоммСрчСская Π‘Π£Π‘Π” Ingres (являвшаяся, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ, дальним ΠΏΡ€Π°Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ популярной сСйчас нСкоммСрчСской Π‘Π£Π‘Π” PostgreSQL), которая являлась рСляционной Π‘Π£Π‘Π”, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»Π° свой собствСнный язык QUEL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠ°Π» ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Ρƒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π΅Π³ΠΎ Π‘Π£Π‘Π” с ΡΠ·Ρ‹ΠΊΠΎΠΌ SQL.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌΠΈ Π‘Π£Π‘Π”, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ Π½ΠΎΠ²Ρ‹ΠΉ язык, стали Π² 1979 Π³ΠΎΠ΄Ρƒ Oracle V2 для машин VAX ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Relational Software Inc. (впослСдствии ΡΡ‚Π°Π²ΡˆΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Oracle) ΠΈ System/38 ΠΎΡ‚ IBM, основанная Π½Π° System/R.

SQL являСтся ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ-логичСским языком, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ для описания, измСнСния ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π² Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. SQL ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ языком программирования, ΠΏΡ€ΠΈ этом ΠΎΠ½ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Ρ‚ΡŒΡŽΡ€ΠΈΠ½Π³-ΠΏΠΎΠ»Π½Ρ‹ΠΌ, Π½ΠΎ Π²ΠΌΠ΅ΡΡ‚Π΅ с Ρ‚Π΅ΠΌ стандарт языка спСцификациСй SQL/PSM прСдусматриваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ SQL Π±Ρ‹Π» основным способом Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

Β· созданиС Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹;

Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½ΠΎΠ²Ρ‹Ρ… записСй;

· измСнСниС записСй;

Β· ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй;

Β· Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° записСй ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† (Π² ΡΠΎΠΎΡ‚вСтствии с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ условиСм);

Β· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структур Ρ‚Π°Π±Π»ΠΈΡ†.

Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ SQL услоТнился — обогатился Π½ΠΎΠ²Ρ‹ΠΌΠΈ конструкциями, обСспСчил Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ описания ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²Ρ‹ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, индСксы, прСдставлСния, Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ ΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹) — ΠΈ ΡΡ‚Π°Π» ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Ρ‚Ρ‹, свойствСнныС языкам программирования.

ΠŸΡ€ΠΈ всСх своих измСнСниях SQL остаётся СдинствСнным ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм ΠΈ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя соврСмСнныС Π‘Π£Π‘Π”, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π‘Π£Π‘Π”, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹Π΅ срСдства Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ построСния запросов.

КаТдоС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ SQL — это Π»ΠΈΠ±ΠΎ запрос Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π±Π°Π·Ρ‹, Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅. Π’ ΡΠΎΠΎΡ‚вСтствии с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния происходят Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ запросов:

Β· запросы Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ»ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΏΡ€ΠΈ этом Π² Π·Π°ΠΏΡ€ΠΎΡΠ΅ описываСтся Ρ‚ΠΈΠΏ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° создаваСмого ΠΈΠ»ΠΈ измСняСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°);

Β· запросы Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…;

Β· запросы Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (записСй);

Β· запросы Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…;

Β· обращСния ΠΊ Π‘Π£Π‘Π”.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ хранСния рСляционной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… являСтся Ρ‚Π°Π±Π»ΠΈΡ†Π°, поэтому всС SQL-запросы — это ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π’ ΡΠΎΠΎΡ‚вСтствии с ΡΡ‚ΠΈΠΌ, запросы дСлятся Π½Π°:

Β· запросы, ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ самими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ (созданиС ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†);

Β· запросы, ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ записями (ΠΈΠ»ΠΈ строками Ρ‚Π°Π±Π»ΠΈΡ†) ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ записСй.

Β· КаТдая Ρ‚Π°Π±Π»ΠΈΡ†Π° описываСтся Π² Π²ΠΈΠ΄Π΅ пСрСчислСния своих ΠΏΠΎΠ»Π΅ΠΉ (столбцов Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹) с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ

Β· Ρ‚ΠΈΠΏΠ° Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Β· связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ (Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ);

Β· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для построСния индСксов.

Запросы ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ дСлятся Π½Π° Π·Π°ΠΏΡ€ΠΎΡΡ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для создания Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†, ΠΈ Π½Π° Π·Π°ΠΏΡ€ΠΎΡΡ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для измСнСния ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†. Запросы Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ, ΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π·Π°ΠΏΡ€ΠΎΡΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°:

Β· вставка Π½ΠΎΠ²ΠΎΠΉ строки;

Β· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ строки ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Π° строк;

Β· ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строки ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Π° строк.

Π‘Π°ΠΌΡ‹ΠΉ Π³Π»Π°Π²Π½Ρ‹ΠΉ Π²ΠΈΠ΄ запроса — это запрос, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ) Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ строк, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

Β· ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€;

Β· ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС записи Π½Π°Π±ΠΎΡ€Π°;

Β· ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС записи Π½Π°Π±ΠΎΡ€Π°.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ использованиС SQL сводится, ΠΏΠΎ ΡΡƒΡ‚ΠΈ, ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ всСвозмоТных Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ строк ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ всСми записями, входящими Π² Π½Π°Π±ΠΎΡ€.

Π―Π·Ρ‹ΠΊ SQL прСдставляСт собой ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ

Β· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²,

Β· инструкций,

Β· ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅ΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Богласно общСпринятому ΡΡ‚ΠΈΠ»ΡŽ программирования, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова) Π² SQL ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ рСкомСндуСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ прописными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ SQL дСлятся Π½Π°:

Β· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ опрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… (Data Definition Language, DDL):

Β· CREATE создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π‘Π” (саму Π±Π°Π·Ρƒ, Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, прСдставлСниС, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Ρ‚. Π΄.),

Β· ALTER измСняСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚,

Β· DROP удаляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚;

Β· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ манипуляции Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Data Manipulation Language, DML):

Β· SELECT считываСт Π΄Π°Π½Π½Ρ‹Π΅, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ условиям,

Β· INSERT добавляСт Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅,

Β· UPDATE измСняСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅,

Β· DELETE удаляСт Π΄Π°Π½Π½Ρ‹Π΅;

Β· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ опрСдСлСния доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ (Data Control Language, DCL):

Β· GRANT прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ (Π³Ρ€ΡƒΠΏΠΏΠ΅) Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ,

Β· REVOKE ΠΎΡ‚Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ,

Β· DENY Π·Π°Π΄Π°Π΅Ρ‚ Π·Π°ΠΏΡ€Π΅Ρ‚, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ;

Β· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ управлСния транзакциями (Transaction Control Language, TCL):

Β· COMMIT примСняСт Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ,

Β· ROLLBACK ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС измСнСния, сдСланныС Π² ΠΊΠΎΠ½Ρ‚СкстС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ,

Β· SAVEPOINT Π΄Π΅Π»ΠΈΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ участки.

2. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ

2.1 ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹

ЦСлью курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ дисциплины «Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…». Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ² ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ) для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

2.2 ДаталогичСскоС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ЛогичСскоС (даталогичСскоС) ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — созданиС схСмы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Для рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… даталогичСская модСль — Π½Π°Π±ΠΎΡ€ схСм ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ «ΡΠ²ΡΠ·Π΅ΠΉ» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… собой внСшниС ΠΊΠ»ΡŽΡ‡ΠΈ.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, осущСствляСтся ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. Π­Ρ‚ΠΎΡ‚ этап ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½.

На ΡΡ‚Π°ΠΏΠ΅ логичСского проСктирования учитываСтся спСцифика ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ спСцифика ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π‘Π£Π‘Π”.

ЛогичСская структура рСляционной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Access являСтся Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ-логичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области. Для каноничСской ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅ Ρ‚рСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… отобраТаСтся рСляционной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° рСляционной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ опрСдСляСтся Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π½Ρ‹ΠΌ составом ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠ»Π΅ соотвСтствуСт ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ рСляционной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля задаСтся Ρ‚ΠΈΠΏ, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€. свойства. Записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ экзСмплярам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Бвязи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ — ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ связи Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…. ΠŸΡ€ΠΈ этом ΠΊΠ»ΡŽΡ‡ΠΎΠΌ связи Ρ‚ΠΈΠΏΠ° 1: М Π²ΡΠ΅Π³Π΄Π° являСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Рисунок 3).

Рисунок 3 — ДаталогичСская модСль

2.3 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘Π” «ΠœΠ°Π³Π°Π·ΠΈΠ½ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ» Π² ΡΡ€Π΅Π΄Π΅ Π‘Π£Π‘Π” Microsoft Office Access

Π’ Ρ…ΠΎΠ΄Π΅ проСктирования Π‘Π” «ΠœΠ°Π³Π°Π·ΠΈΠ½ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ «Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:

Β· Π—Π°ΠΊΠ°Π·Ρ‹

Β· ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹

Β· ΠšΠ°Ρ‚Π°Π»ΠΎΠ³

2.4 Ѐормализация ΠΈ ΠΏΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

На ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ описания ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ER-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ER-Ρ‚ΠΈΠΏΠ°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ проСктирования Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ находятся Π² Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Бойса-Кодда.

Π’Π°ΠΊ ΠΆΠ΅ трСбуСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ

Π°) Π²Π²ΠΎΠ΄, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ цСлостности Π΄Π°Π½Π½Ρ‹Ρ…, хранящихся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…;

Π±) Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ условиям ΠΈ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²ΠΈΠ΄Π΅;

Π²) ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ;

Π³) созданиС Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΏΠΎ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π΄) Π²Ρ‹Π²ΠΎΠ΄ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… машин Π·Π° 30 Π΄Π½Π΅ΠΉ Π½Π° ΡΠΊΡ€Π°Π½ ΠΈ Π² Ρ„Π°ΠΉΠ»

2.5 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ER-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ

Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π½Π° /

2.6 Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 20

Магазин ΠΏΡ€ΠΎΠ΄Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ΠΏΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ€ΡΠ΄Π΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ„ΠΈΡ€ΠΌΠ°-ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒ, ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ двигатСля, число мСст Π² ΡΠ°Π»ΠΎΠ½Π΅, расход Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π° Π½Π° 100 ΠΊΠΌ. Π² Π»ΠΈΡ‚Ρ€Π°Ρ…, объСм Π±Π°Π³Π°ΠΆΠ½ΠΈΠΊΠ° Π² Π΄ΠΌ. ΠΊΡƒΠ±.). ΠšΠ»ΠΈΠ΅Π½Ρ‚, просмотрСв ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π·Π°ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½ΡƒΡŽ Π΅ΠΌΡƒ модСль.

Магазин оформляСт Π·Π°ΠΊΠ°Π· ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρƒ выписываСтся счСт, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ указываСтся модСль автомобиля, Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ (15 Π·Π½Π°ΠΊΠΎΠ²), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° двигатСля ΠΈ ΠΊΡƒΠ·ΠΎΠ²Π° (14 Π·Π½Π°ΠΊΠΎΠ²), Ρ†Π²Π΅Ρ‚ автомобиля ΠΈ Π΅Π³ΠΎ Ρ†Π΅Π½Π°. Π’ ΡΡ‡Π΅Ρ‚Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ указываСтся Π΄Π°Ρ‚Π° выписки счСта ΠΈ Π΄Π°Ρ‚Π° ΠΎΠΏΠ»Π°Ρ‚Ρ‹. ПослС ΠΎΠΏΠ»Π°Ρ‚Ρ‹ счСта ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ, ΠΎ Ρ‡Π΅ΠΌ дСлаСтся ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π² Π·Π°ΠΊΠ°Π·Π΅ (Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½). ΠšΡ€ΠΎΠΌΠ΅ Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΈ ΡΡ‡Π΅Ρ‚ΠΎΠ², выпускаСтся СТСмСсячно ΠΎΡ‚Ρ‡Π΅Ρ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ (количСство, сумма) ΠΈ ΠΎΠ±Ρ‰Π΅ΠΉ суммой ΠΏΡ€ΠΎΠ΄Π°ΠΆ.

ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько Π·Π°ΠΊΠ°Π·ΠΎΠ². БвСдСния ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π΅ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹.

2.7 Π‘Ρ…Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π½Π° /

3. Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

3.1 АрхитСктура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ комплСкса

Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства:

ADO

ИспользованиС ADO являСтся Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ Borland Database Engine (BDE), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Для использования этой возмоТности Π½Π° Π²Π°ΡˆΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ установлСна систСма ADO 2.1 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Ρ€ΡˆΠ°Ρ вСрсия. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ установлСна клиСнтская систСма доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Microsoft SQL Server, Π° Π² ODBC Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒΡΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ OLE DB для Ρ‚ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.

Microsoft Office Access 2007

Microsoft Office Access 2007 являСтся систСмой управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Microsoft Office Access 2007 позволяСт ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ свСдСния ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ях ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ошибки, связанныС с ΠΏΠΎΡ‚Π΅Ρ€Π΅ΠΉ источников записСй.

3.2 ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ систСмныС трСбования

Β· Частота процСссора Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 500 ΠœΠ“Ρ†

Β· НС ΠΌΠ΅Π½Π΅Π΅ 256 Мб ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти

Β· 1,5−2 Π“Π± ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста Π½Π° ΠΆΡ‘стком дискС

Β· Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ экрана Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 1024×768 Ρ‚ΠΎΡ‡Π΅ΠΊ

Β· ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Windows XP с SP2, Windows Server 2003 с SP2 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Π΅ вСрсии.

Β· ΠŸΡ€ΠΈΠ½Ρ‚Π΅Ρ€

Β· ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°

Β· ΠœΡ‹ΡˆΡŒ

3.3 Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ прилоТСния открываСтся Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Рисунок 4)

Рисунок 4 — Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

НаТав Π½Π° «ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π°» откроСтся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ машин для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ²ΡˆΠ΅ΠΉΡΡ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ ΠΎΡ„ормлСния Π·Π°ΠΊΠ°Π·Π° (Рисунок 5).

Рисунок 5 — Окно оформлСния Π·Π°ΠΊΠ°Π·Π°

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ машин ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌ. Для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ²ΡˆΠ΅ΠΉΡΡ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΏΠΎ ΡΡ‚Ρ€ΠΎΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π·» откроСтся Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π·Π°ΠΊΠ°Π·ΠΎΠΌ (Рисунок 6)

Рисунок 6 — ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π°

Π—Π°ΠΏΠΎΠ»Π½ΠΈΠ² всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ поля Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΠš» ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ выписан счСт (Рисунок 7).

Рисунок 8 — Π‘Ρ‡Π΅Ρ‚ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΡŽ

Если Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π³Π»Π°Π²Π½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ΅ (Рисунок 4) ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° «Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠΉ» Ρ‚ΠΎ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π΅Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ирования ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆ, Π½ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ трСбуСтся ввСсти ΠΏΠ°Ρ€ΠΎΠ»ΡŒ (Рисунок 8).

Π’Π²Π΅Π΄Π΅ΠΌ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Π²Ρ…ΠΎΠ΄Π° Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π°ΠΆΠΌΠ΅ΠΌ «ΠžΠš» ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΎΠΊΠ½ΠΎ для управлСния Π±Π°Π·ΠΎΠΉ

НаТав Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†» ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Ρ„ΠΎΡ€ΠΌΠ° для ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, измСнСния ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

Если Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² ΠΎΠΊΠ½ΠΎ управлСния Π±Π°Π·ΠΎΠΉ (Рисунок 9) ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ» Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ список Ρ„ΠΎΡ€ΠΌ для открытия. Π‘Π°ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ являСтся Ρ„ΠΎΡ€ΠΌΠ° поиск ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Ρ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ» ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ машин ΠΏΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Ρ ΠΏΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «ΠŸΠΎΠΈΡΠΊ автомобиля» откроСтся Ρ„ΠΎΡ€ΠΌΠ° для поиска Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ автомобиля

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Ρ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΎΠΊΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π·Π°ΠΊΠ°Π·Π°ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΈ Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π·Π°ΠΊΠ°Π·Ρ‹, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ просрочСнныС Π·Π°ΠΊΠ°Π·Ρ‹

НаТав Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠŸΡ€ΠΎΡΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹Π΅ Π·Π°ΠΊΠ°Π·Ρ‹» Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Π·Π°ΠΊΠ°Π·Ρ‹, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Ρ‚Π° ΠΎΠΏΠ»Π°Ρ‚Ρ‹ просрочСна, эти записи ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

Если Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ «Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠΉ» ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°Ρ… Π·Π° ΠΌΠ΅ΡΡΡ† (Рисунок 16). Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ мСсяц ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ «ΠžΠš» .

ПослС Π²Ρ‹Π±ΠΎΡ€Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ мСсяца Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ Π² Ρ„Π°ΠΉΠ» ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°Ρ… Π·Π° ΠΌΠ΅ΡΡΡ†

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ…ΠΎΠ΄Π΅ выполнСния курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰Π°Ρ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ:

1) просмотр ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…;

2) поиск ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ записСй ΠΎ ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…;

3) поиск ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ записСй ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…;

4) Поиск ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°ΠΊΠ°Π·ΠΎΠ²;

5) ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ‡Π΅ΠΊΠ°;

6) ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ машин Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅;

7) ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… машин Π·Π° 30 Π΄Π½Π΅ΠΉ Π½Π° ΡΠΊΡ€Π°Π½Π΅, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ этого ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π² Ρ„Π°ΠΉΠ»;

Π¦Π΅Π»ΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»ΠΈ достигнуты. Бозданная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° — проста, ΡƒΠ΄ΠΎΠ±Π½Π° Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, экономит большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° доступна для любого Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ простыми Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ пользования ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π·Π° ΡΡ‡Π΅Ρ‚ добавлСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

1. ΠšΠ°Ρ€ΠΏΠΎΠ²Π° Π’. Π‘. Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2001, 304 с.

2. ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² Π’. Н. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2002.

3. Π€Π°Ρ€ΠΎΠ½ΠΎΠ² Π’. Π’. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² Delphi 7: Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ курс. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2004 — 464 с.

4. ΠšΡ€Π΅Π½ΠΊΠ΅ Π”. ВСория ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° построСния Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…: [ΠΏΠ΅Ρ€. с Π°Π½Π³Π»] / Π”. ΠšΡ€Π΅Π½ΠΊΠ΅. — 9 — Π΅ ΠΈΠ·Π΄. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2005. — 858 с.

5. Π₯ΠΎΠΌΠΎΠ½Π΅Π½ΠΊΠΎ А. Π”., Π¦Ρ‹Π³Π°Π½ΠΊΠΎΠ² Π’. М., ΠœΠ°Π»ΡŒΡ†Π΅Π² М. Π“. Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: Π£Ρ‡Π΅Π±Π½ΠΈΠΊ для Π²Ρ‹ΡΡˆΠΈΡ… ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΉ / Под Ρ€Π΅Π΄. ΠΏΡ€ΠΎΡ„. А. Π”. Π₯ΠΎΠΌΠΎΠ½Π΅Π½ΠΊΠΎ. — Π‘Пб.: КОРОНА ΠΏΡ€ΠΈΠ½Ρ‚, 2000. — 416 с.

6. ΠšΠ°Ρ€ΠΏΠΎΠ²Π° Π’. Π‘. Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, рСализация. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2001. — 304с.

7. Ульман Π”ΠΆ., Π£ΠΈΠ΄ΠΎΠΌ Π”ΠΆ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π² ΡΠΈΡΡ‚Π΅ΠΌΡ‹ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. — Πœ.: Π›ΠΎΡ€ΠΈ, 2000. — 374с.

8. ΠœΠ΅ΠΉΠ΅Ρ€ Π”. ВСория рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. — Πœ.: ΠœΠΈΡ€, 1987. — 608с.

9. ДТСксон Π“. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… для использования с ΠΌΠΈΠΊΡ€ΠΎ — Π­Π’Πœ. — Πœ.: ΠœΠΈΡ€, 1991.

10. Π§Π΅Ρ‚Π²Π΅Ρ€ΠΈΠΊΠΎΠ² Π’. Н. ΠΈ Π΄Ρ€. Π‘Π°Π·Ρ‹ ΠΈ Π±Π°Π½ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. — Πœ.: Π’Ρ‹ΡΡˆ. шк., 1987.

11. Π‘ΠΎΠΉΠΊΠΎ Π’. Π’., Π‘Π°Π²ΠΈΠ½ΠΎΠ² Π’. М. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. — Πœ.: Ѐинансы ΠΈ ΡΡ‚атистика, 1989.

12. Π”Π΅ΠΉΡ‚ К.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π² ΡΠΈΡΡ‚Π΅ΠΌΡ‹ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. — Πš.: Π”ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΈΠΊΠ°, 1998.

13. Π₯ансСн Π“., Π₯ансСн Π”. Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. — Πœ.: Π‘Π˜ΠΠžΠœ, 1999.

14. Боровский, А. Н. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Delphi/ А. Н. Боровский. — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³. — 2005.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Главная Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

unit main;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TMainForm = class (TForm)

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

Button1: TButton;

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

MainForm: TMainForm;

implementation

uses katalog, password;

{$R *. dfm}

procedure TMainForm. Button1Click (Sender: TObject);

begin

if RadioButton1. Checked

then

KatalogAvto. Show

else

PassForm. Show

end;

end.

Π€ΠΎΡ€ΠΌΠ° ModulBD

Π—Π΄Π΅ΡΡŒ располоТСны Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…

Π€ΠΎΡ€ΠΌΠ° Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΏΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ

unit katalog;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls;

type

TKatalogAvto = class (TForm)

DBGrid1: TDBGrid;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

GroupBox2: TGroupBox;

Edit1: TEdit;

Button1: TButton;

Edit2: TEdit;

Button2: TButton;

Button3: TButton;

procedure FormActivate (Sender: TObject);

procedure RadioButton1Click (Sender: TObject);

procedure RadioButton2Click (Sender: TObject);

procedure RadioButton3Click (Sender: TObject);

procedure RadioButton4Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure DBGrid1DblClick (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

KatalogAvto: TKatalogAvto;

implementation

uses main, module, zak;

{$R *. dfm}

procedure TKatalogAvto. FormActivate (Sender: TObject);

begin

ModuleBD. ADOQuery_Katalog. SQL. Clear;

ModuleBD. ADOQuery_Katalog. SQL. Add ('SELECT * FROM Catalogs');

ModuleBD. ADOQuery_Katalog. Active: =True;

end;

procedure TKatalogAvto. RadioButton1Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Katalog. SQL. Clear;

ModuleBD. ADOQuery_Katalog. SQL. Add ('SELECT * FROM Catalogs ORDER BY Engine_power DESC ');

ModuleBD. ADOQuery_Katalog. Active: =True;

end;

procedure TKatalogAvto. RadioButton2Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Katalog. SQL. Clear;

ModuleBD. ADOQuery_Katalog. SQL. Add ('SELECT * FROM Catalogs ORDER BY Number_seats DESC ');

ModuleBD. ADOQuery_Katalog. Active: =True;

end;

procedure TKatalogAvto. RadioButton3Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Katalog. SQL. Clear;

ModuleBD. ADOQuery_Katalog. SQL. Add ('SELECT * FROM Catalogs ORDER BY Rashod_topliva DESC');

ModuleBD. ADOQuery_Katalog. Active: =True;

end;

procedure TKatalogAvto. RadioButton4Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Katalog. SQL. Clear;

ModuleBD. ADOQuery_Katalog. SQL. Add ('SELECT * FROM Catalogs ORDER BY Volume_trunk DESC');

ModuleBD. ADOQuery_Katalog. Active: =True;

end;

procedure TKatalogAvto. Button1Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Katalog. SQL. Clear;

ModuleBD. ADOQuery_Katalog. SQL. Add ('SELECT * FROM Catalogs WHERE Marka_modeli LIKE '''+Edit1. Text+''' and Model LIKE '''+Edit2. Text+'''');

ModuleBD. ADOQuery_Katalog. Active: =True;

end;

procedure TKatalogAvto. Button2Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Katalog. SQL. Clear;

ModuleBD. ADOQuery_Katalog. SQL. Add ('SELECT * FROM Catalogs');

ModuleBD. ADOQuery_Katalog. Active: =True;

end;

procedure TKatalogAvto. Button3Click (Sender: TObject);

begin

Zakaz. Show;

end;

procedure TKatalogAvto. DBGrid1DblClick (Sender: TObject);

begin

Zakaz. Show;

Zakaz. Edit2. Text: = DBGrid1. DataSource. DataSet. Fields. AsString;

Zakaz. Edit9. Text: = DBGrid1. DataSource. DataSet. Fields. AsString;

Zakaz. Edit10. Text: = DBGrid1. DataSource. DataSet. Fields. AsString;

end;

end.

Π€ΠΎΡ€ΠΌΠ° оформлСния Π·Π°ΠΊΠ°Π·Π°

unit zak;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TZakaz = class (TForm)

Button3: TButton;

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Button1: TButton;

Button2: TButton;

Edit7: TEdit;

Edit8: TEdit;

Label9: TLabel;

Label10: TLabel;

Edit9: TEdit;

Edit10: TEdit;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Zakaz: TZakaz;

implementation

uses klient, avto, module, zak2, main, cek;

{$R *. dfm}

procedure TZakaz. Button1Click (Sender: TObject);

begin

PoiskKlienta. Show;

end;

procedure TZakaz. Button2Click (Sender: TObject);

begin

Form_Avto. show;

end;

procedure TZakaz. Button3Click (Sender: TObject);

var

zakazid, warehouseid, i: Integer;

begin

ModuleBD. ADOQuery_Zakaz. Insert;

zakazid: =ModuleBD. ADOQuery_Zakaz. RecordCount+1;

ModuleBD. ADOQuery_Zakaz. FieldByName ('id_orders'). AsInteger: = zakazid;

ModuleBD. ADOQuery_Zakaz. FieldByName ('id_clients'). AsInteger: = StrToInt (Edit1. Text);

ModuleBD. ADOQuery_Zakaz. FieldByName ('Order_status'). AsBoolean: =false;

ModuleBD. ADOQuery_Zakaz. FieldByName ('Status_oplati'). AsBoolean: =false;

ModuleBD. ADOQuery_Zakaz. FieldByName ('Date_vipiski'). AsString: =Edit7. Text;

ModuleBD. ADOQuery_Zakaz. FieldByName ('Date_oplati'). AsString: =Edit8. Text;

ModuleBD. ADOQuery_Zakaz. FieldByName ('β„–_engine'). AsInteger: = StrToInt (Edit3. Text);

ModuleBD. ADOQuery_Zakaz. FieldByName ('β„–_kuzova'). AsInteger: = StrToInt (Edit4. Text);

ModuleBD. ADOQuery_Zakaz. FieldByName ('Color'). AsString: =Edit5. Text;

ModuleBD. ADOQuery_Zakaz. FieldByName ('Price'). AsString: =Edit6. Text;

ModuleBD. ADOQuery_Zakaz. FieldByName ('id_cars'). AsFloat: = StrToFloat (Edit2. Text);

Chek. QRLabel13. Caption: =Edit9. Text;

Chek. QRLabel14. Caption: =Edit10. Text;

Chek. QRLabel15. Caption: =Edit2. Text;

Chek. QRLabel16. Caption: =Edit3. Text;

Chek. QRLabel17. Caption: =Edit4. Text;

Chek. QRLabel18. Caption: =Edit5. Text;

Chek. QRLabel19. Caption: =Edit8. Text;

Chek. QRLabel20. Caption: =Edit7. Text;

Chek. QRLabel12. Caption: =Edit6. Text;

Chek. QuickRep1. PreviewModal;

end;

end.

Π€ΠΎΡ€ΠΌΠ° Π²Π²ΠΎΠ΄Π° пароля для доступа ΠΊ Π±Π°Π·Π΅

unit password;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TPassForm = class (TForm)

Edit1: TEdit;

Button1: TButton;

procedure Edit1Change (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure FormActivate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

PassForm: TPassForm;

implementation

uses main, admin;

{$R *. dfm}

procedure TPassForm. Button1Click (Sender: TObject);

begin

Upravlenie. visible: = true;

PassForm. Visible: = false;

end;

procedure TPassForm. Edit1Change (Sender: TObject);

begin

if Edit1. Text = '1' then begin

Button1. Enabled: = true; end;

end;

procedure TPassForm. FormActivate (Sender: TObject);

begin

edit1. Clear;

Button1. Enabled: = false;

end;

end.

Π€ΠΎΡ€ΠΌΠ° управлСния Π‘Π”

unit admin;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus;

type

TUpravlenie = class (TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

procedure N9Click (Sender: TObject);

procedure N1Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure N7Click (Sender: TObject);

procedure N10Click (Sender: TObject);

procedure N8Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Upravlenie: TUpravlenie;

implementation

uses edit, klient, prodan, avto, zak2, skld, otchet;

{$R *. dfm}

procedure TUpravlenie. N9Click (Sender: TObject);

begin

Upravlenie. Close;

end;

procedure TUpravlenie. N1Click (Sender: TObject);

begin

EditBD. Show;

end;

procedure TUpravlenie. N4Click (Sender: TObject);

begin

PoiskKlienta. Show;

end;

procedure TUpravlenie. N5Click (Sender: TObject);

begin

Prodano. Show;

end;

procedure TUpravlenie. N6Click (Sender: TObject);

begin

Form_Avto. Show;

end;

procedure TUpravlenie. N7Click (Sender: TObject);

begin

Zakazi. Show;

end;

procedure TUpravlenie. N10Click (Sender: TObject);

begin

Sklad. Show;

end;

procedure TUpravlenie. N8Click (Sender: TObject);

begin

Otchet_za_mec. Show;

end;

end.

Π€ΠΎΡ€ΠΌΠ° просмотра ΠΈ рСдактирования Π‘Π”

unit edit;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls;

type

TEditBD = class (TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

GroupBox1: TGroupBox;

ComboBox1: TComboBox;

GroupBox2: TGroupBox;

Edit1: TEdit;

Button1: TButton;

procedure FormActivate (Sender: TObject);

procedure ComboBox1Change (Sender: TObject);

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

EditBD: TEditBD;

implementation

uses module;

{$R *. dfm}

procedure TEditBD. FormActivate (Sender: TObject);

begin

ModuleBD. ADOQuery_Edit. SQL. Clear;

ModuleBD. ADOQuery_Edit. SQL. Add ('SELECT * FROM Catalogs');

ModuleBD. ADOQuery_Edit. Active: =True;

end;

procedure TEditBD. comboBox1Change (Sender: TObject);

begin

if ComboBox1. Text='ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹' then

begin

ModuleBD. ADOQuery_Edit. SQL. Clear;

ModuleBD. ADOQuery_Edit. SQL. Add ('SELECT * FROM Clients');

ModuleBD. ADOQuery_Edit. Active: =True;

end;

if ComboBox1. Text='ΠšΠ°Ρ‚Π°Π»ΠΎΠ³' then

begin

ModuleBD. ADOQuery_Edit. SQL. Clear;

ModuleBD. ADOQuery_Edit. SQL. Add ('SELECT * FROM Catalogs');

ModuleBD. ADOQuery_Edit. Active: =True;

end;

if ComboBox1. Text='Π—Π°ΠΊΠ°Π·Ρ‹' then

begin

ModuleBD. ADOQuery_Edit. SQL. Clear;

ModuleBD. ADOQuery_Edit. SQL. Add ('SELECT * FROM Orders');

ModuleBD. ADOQuery_Edit. Active: =True;

end;

end;

procedure TEditBD. Button1Click (Sender: TObject);

begin

if ComboBox1. Text='ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹' then

begin

ModuleBD. ADOQuery_Edit. SQL. Clear;

ModuleBD. ADOQuery_Edit. SQL. Add ('SELECT * FROM Clients WHERE id_clienta LIKE '''+Edit1. Text+'''');

ModuleBD. ADOQuery_Edit. Active: =True;

end;

if ComboBox1. Text='ΠšΠ°Ρ‚Π°Π»ΠΎΠ³' then

begin

ModuleBD. ADOQuery_Edit. SQL. Clear;

ModuleBD. ADOQuery_Edit. SQL. Add ('SELECT * FROM Catalogs WHERE id_cars LIKE '''+Edit1. Text+'''');

ModuleBD. ADOQuery_Edit. Active: =True;

end;

if ComboBox1. Text='Π‘ΠΊΠ»Π°Π΄' then

begin

ModuleBD. ADOQuery_Edit. SQL. Clear;

ModuleBD. ADOQuery_Edit. SQL. Add ('SELECT * FROM Warehouse WHERE id_warehouse LIKE '''+Edit1. Text+'''');

ModuleBD. ADOQuery_Edit. Active: =True;

end;

if ComboBox1. Text='Π—Π°ΠΊΠ°Π·Ρ‹' then

begin

ModuleBD. ADOQuery_Edit. SQL. Clear;

ModuleBD. ADOQuery_Edit. SQL. Add ('SELECT * FROM Orders WHERE id_orders LIKE '''+Edit1. Text+'''');

ModuleBD. ADOQuery_Edit. Active: =True;

end;

end;

end.

Π€ΠΎΡ€ΠΌΠ° для поиска ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

unit klient;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids;

type

TPoiskKlienta = class (TForm)

DBGrid1: TDBGrid;

GroupBox1: TGroupBox;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

procedure FormActivate (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure DBGrid1DblClick (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

PoiskKlienta: TPoiskKlienta;

implementation

uses module, zak;

{$R *. dfm}

procedure TPoiskKlienta. FormActivate (Sender: TObject);

begin

ModuleBD. ADOQuery_Klient. SQL. Clear;

ModuleBD. ADOQuery_Klient. SQL. Add ('SELECT * FROM Clients');

ModuleBD. ADOQuery_Klient. Active: =True;

end;

procedure TPoiskKlienta. Button1Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Klient. SQL. Clear;

ModuleBD. ADOQuery_Klient. SQL. Add ('SELECT * FROM Clients WHERE Familya LIKE '''+Edit1. Text+'''');

ModuleBD. ADOQuery_Klient. Active: =True;

end;

procedure TPoiskKlienta. Button2Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Klient. SQL. Clear;

ModuleBD. ADOQuery_Klient. SQL. Add ('SELECT * FROM Clients ');

ModuleBD. ADOQuery_Klient. Active: =True;

end;

procedure TPoiskKlienta. DBGrid1DblClick (Sender: TObject);

begin

Zakaz. Edit1. Text: = DBGrid1. DataSource. DataSet. Fields. AsString;

end;

end.

Π€ΠΎΡ€ΠΌΠ° для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΏΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ

unit prodan;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls;

type

TProdano = class (TForm)

DBGrid1: TDBGrid;

procedure FormActivate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Prodano: TProdano;

implementation

uses module;

{$R *. dfm}

procedure TProdano. FormActivate (Sender: TObject);

begin

ModuleBD. ADOQuery_Prodano. SQL. Clear;

ModuleBD. ADOQuery_Prodano. SQL. Add ('SELECT id_clienta, Familya, (SELECT Count (id_clients) FROM Orders WHERE (Orders. id_clients=Clients. id_clienta) GROUP BY id_clienta) AS ΠšΠΎΠ»_воМашин FROM Clients');

ModuleBD. ADOQuery_Prodano. Active: =True;

end;

end.

Π€ΠΎΡ€ΠΌΠ° для поиска автомобиля

unit avto;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls;

type

TForm_Avto = class (TForm)

DBGrid1: TDBGrid;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

GroupBox2: TGroupBox;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

procedure FormActivate (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure RadioButton1Click (Sender: TObject);

procedure RadioButton2Click (Sender: TObject);

procedure RadioButton3Click (Sender: TObject);

procedure RadioButton4Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure DBGrid1DblClick (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form_Avto: TForm_Avto;

implementation

uses module, zak;

{$R *. dfm}

procedure TForm_Avto. FormActivate (Sender: TObject);

begin

ModuleBD. ADOQuery_Avto. SQL. Clear;

ModuleBD. ADOQuery_Avto. SQL. Add ('SELECT * FROM Catalogs');

ModuleBD. ADOQuery_Avto. Active: =True;

end;

procedure TForm_Avto. Button1Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Avto. SQL. Clear;

ModuleBD. ADOQuery_Avto. SQL. Add ('SELECT * FROM Catalogs WHERE Marka_modeli LIKE '''+Edit1. Text+'''');

ModuleBD. ADOQuery_Avto. Active: =True;

end;

procedure TForm_Avto. RadioButton1Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Avto. SQL. Clear;

ModuleBD. ADOQuery_Avto. SQL. Add ('SELECT * FROM Catalogs ORDER BY Engine_power DESC ');

ModuleBD. ADOQuery_Avto. Active: =True;

end;

procedure TForm_Avto. RadioButton2Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Avto. SQL. Clear;

ModuleBD. ADOQuery_Avto. SQL. Add ('SELECT * FROM Catalogs ORDER BY Number_seats DESC ');

ModuleBD. ADOQuery_Avto. Active: =True;

end;

procedure TForm_Avto. RadioButton3Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Avto. SQL. Clear;

ModuleBD. ADOQuery_Avto. SQL. Add ('SELECT * FROM Catalogs ORDER BY Rashod_topliva DESC');

ModuleBD. ADOQuery_Avto. Active: =True;

end;

procedure TForm_Avto. RadioButton4Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Avto. SQL. Clear;

ModuleBD. ADOQuery_Avto. SQL. Add ('SELECT * FROM Catalogs ORDER BY Volume_trunk DESC');

ModuleBD. ADOQuery_Avto. Active: =True;

end;

procedure TForm_Avto. Button2Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Avto. SQL. Clear;

ModuleBD. ADOQuery_Avto. SQL. Add ('SELECT * FROM Catalogs');

ModuleBD. ADOQuery_Avto. Active: =True;

end;

procedure TForm_Avto. DBGrid1DblClick (Sender: TObject);

begin

Zakaz. Edit2. Text: = DBGrid1. DataSource. DataSet. Fields. AsString;

Zakaz. Edit9. Text: = DBGrid1. DataSource. DataSet. Fields. AsString;

Zakaz. Edit10. Text: = DBGrid1. DataSource. DataSet. Fields. AsString;

end;

end.

Π€ΠΎΡ€ΠΌΠ° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°ΠΊΠ°Π·ΠΎΠ²

unit zak2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls;

type

TZakazi = class (TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure FormActivate (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Zakazi: TZakazi;

implementation

uses module, proc;

{$R *. dfm}

procedure TZakazi. FormActivate (Sender: TObject);

begin

{ModuleBD. ADOQuery_Zakaz. SQL. Clear;

ModuleBD. ADOQuery_Zakaz. SQL. Add ('SELECT * FROM Orders');

ModuleBD. ADOQuery_Zakaz. Active: =True; }

end;

procedure TZakazi. Button2Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Zakaz. SQL. Clear;

ModuleBD. ADOQuery_Zakaz. SQL. Add ('SELECT * FROM Orders where Order_status = true');

ModuleBD. ADOQuery_Zakaz. Active: =True;

end;

procedure TZakazi. Button1Click (Sender: TObject);

begin

ModuleBD. ADOQuery_Zakaz. SQL. Clear;

ModuleBD. ADOQuery_Zakaz. SQL. Add ('SELECT * FROM Orders where Order_status = false');

ModuleBD. ADOQuery_Zakaz. Active: =True;

end;

procedure TZakazi. Button3Click (Sender: TObject);

begin

Form_Prosrochka. Show;

end;

end.

Π€ΠΎΡ€ΠΌΠ° для просмотри ΠΈ рСдактирования просрочСнных Π·Π°ΠΊΠ°Π·ΠΎΠ²

SELECT *

FROM Orders

Where (Status_oplati=False) AND (Date_oplati=Format (Date ()))

Π€ΠΎΡ€ΠΌΠ° для Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π·Π° мСсяц

unit otchet;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

var

month, monthname: string;

type

TOtchet_za_mec = class (TForm)

ComboBox1: TComboBox;

Button1: TButton;

procedure ComboBox1Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Otchet_za_mec: TOtchet_za_mec;

implementation

uses otch;

{$R *. dfm}

procedure TOtchet_za_mec.comboBox1Click (Sender: TObject);

begin

case ComboBox1. ItemIndex of

1: ShowMessage ('Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ мСсяц! ');

0: begin month: ='__.01.2014'; monthname: ='Π―Π½Π²Π°Ρ€ΡŒ 2014'; end;

1: begin month: ='__.02.2014'; monthname: ='Π€Π΅Π²Ρ€Π°Π»ΡŒ 2014'; end;

2: begin month: ='__.03.2014'; monthname: ='ΠœΠ°Ρ€Ρ‚ 2014'; end;

3: begin month: ='__.04.2014'; monthname: ='ΠΠΏΡ€Π΅Π»ΡŒ 2014'; end;

4: begin month: ='__.05.2014'; monthname: ='Май 2014'; end;

5: begin month: ='__.06.2014'; monthname: ='Июнь 2014'; end;

6: begin month: ='__.07.2014'; monthname: ='Июль 2014'; end;

7: begin month: ='__.08.2014'; monthname: ='Август 2014'; end;

8: begin month: ='__.09.2014'; monthname: ='Π‘Π΅Π½Ρ‚ΡΠ±Ρ€ΡŒ 2014'; end;

9: begin month: ='__.10.2014'; monthname: ='ΠžΠΊΡ‚ΡΠ±Ρ€ΡŒ 2014'; end;

10: begin month: ='__.11.2014'; monthname: ='ΠΠΎΡΠ±Ρ€ΡŒ 2014'; end;

11: begin month: ='__.12.2014'; monthname: ='Π”Π΅ΠΊΠ°Π±Ρ€ΡŒ 2014'; end;

end;

end;

procedure TOtchet_za_mec. Button1Click (Sender: TObject);

begin

Form_otchet. QRLabel2. Caption: = monthname;

Form_otchet. ADOQuery1. Active: =False;

Form_otchet. ADOQuery1. SQL. Add ('Where Data LIKE '''+month+'''');

Form_otchet. ADOQuery1. Active: =True;

Form_otchet. Show;

end;

end.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. Π‘Π»ΠΎΠΊ схСмы основных Ρ„ΠΎΡ€ΠΌ

Π‘Π»ΠΎΠΊ-схСма оформлСния Π·Π°ΠΊΠ°Π·Π°

Π‘Π»ΠΎΠΊ схСма Π²Π²ΠΎΠ΄Π° пароля для доступа ΠΊ Π±Π°Π·Π΅

Π‘Π»ΠΎΠΊ схСма Π½Π° ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ирования Π‘Π”

Π‘Π»ΠΎΠΊ схСма для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΏΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ