SlideShare a Scribd company logo
1 of 15
Download to read offline
IDZ DO
         PRZYK£ADOWY ROZDZIA£

                           SPIS TRE CI   C++Builder 6
                                         i bazy danych
           KATALOG KSI¥¯EK
                                         Autor: Marian Wybrañczyk
                      KATALOG ONLINE     ISBN: 83-7361-292-0
                                         Format: B5, stron: 632
       ZAMÓW DRUKOWANY KATALOG


              TWÓJ KOSZYK
                                                Kompendium wiedzy dla programistów aplikacji bazodanowych w C++
                    DODAJ DO KOSZYKA         • Poznaj C++Builder 6 i dostêpne w nim komponenty
                                             • Stwórz model aplikacji w jêzyku UML
                                             • Wykorzystaj ró¿ne mechanizmy po³¹czenia z baz¹ danych
         CENNIK I INFORMACJE             C++Builder 6, mimo pojawienia siê na rynku nowszej wersji tego rodowiska,
                                         nadal cieszy siê du¿¹ popularno ci¹ w ród programistów. Wizualne rodowisko
                   ZAMÓW INFORMACJE      programowania i gotowe komponenty znacznie przyspieszaj¹ proces tworzenia
                     O NOWO CIACH        aplikacji. Mo¿liwo ci C++Buildera 6 pozwalaj¹ na stworzenie aplikacji korzystaj¹cych
                                         z ró¿nych systemów zarz¹dzania bazami danych, jednak proces przygotowania
                       ZAMÓW CENNIK      po³¹czenia z baz¹ i manipulowania danym w niej zgromadzonymi jest inny
                                         dla ka¿dego z nich.

                 CZYTELNIA               Ksi¹¿ka „C++Builder 6 i bazy danych” to podrêcznik dla tych programistów
                                         i u¿ytkowników C++Buildera 6, którzy w tworzonych przez siebie aplikacjach
          FRAGMENTY KSI¥¯EK ONLINE       wykorzystuj¹ ró¿ne systemy baz danych. Opisuje rodowisko C++ Builder 6, elementy
                                         jêzyka C++ oraz metody modelowania aplikacji i tabel baz danych za pomoc¹ jêzyka
                                         UML, a przede wszystkim — sposoby powi¹zania tworzonych aplikacji z wiêkszo ci¹
                                         dostêpnych na rynku systemów zarz¹dzania bazami danych. Przedstawia technologie
                                         ADO i ODBC, jêzyk SQL i mo¿liwo ci zastosowania jêzyka XML w aplikacjach
                                         bazodanowych.
                                              • Komponenty rodowiska C++Builder 6
                                              • Zaawansowane techniki programowania w C++
                                              • Korzystanie z bibliotek DLL i VCL
                                              • Zastosowanie jêzyka UML do tworzenia modelu aplikacji
                                              • Praca ze rodowiskiem CVS
                                              • Elementy jêzyka SQL
Wydawnictwo Helion                            • Technologia ADO
ul. Chopina 6                                 • Po³¹czenie aplikacji z baz¹ MySQL, dbExpress
44-100 Gliwice                                • Interfejsy ODBC
tel. (32)230-98-63                            • Systemy Interbase i BDE
e-mail: helion@helion.pl                      • Jêzyk XML w bazach danych
                                         Je li chcesz byæ przygotowany do napisania aplikacji korzystaj¹cej z dowolnej bazy
                                         danych, przeczytaj t¹ ksi¹¿kê
Spis treści
              Wstęp ............................................................................................. 11

Część I       Poznajemy środowisko pracy ..........................................13
Rozdział 1. Ekspresem po środowisku BCB6 ...................................................... 15
              Wstęp .............................................................................................................................. 15
              Skąd wziąć środowisko C++Builder 6?........................................................................... 15
              Tworzymy pierwszy projekt............................................................................................ 16
              Kompilujemy program .................................................................................................... 19
              Uruchamiamy program.................................................................................................... 20
              Budowanie aplikacji ........................................................................................................ 21
              Sprawdzamy i wyłapujemy błędy.................................................................................... 24
              Ustawiamy środowisko pracy.......................................................................................... 25
              Inne przydatne opcje ....................................................................................................... 30
              Ciekawe skróty klawiszowe w edytorze kodu ................................................................. 30
              Podsumowanie ................................................................................................................ 31
Rozdział 2. Wybrane komponenty środowiska..................................................... 33
              Wstęp .............................................................................................................................. 33
              Uwaga na temat stosowanego nazewnictwa .................................................................... 33
              Ogólne wskazówki dotyczące korzystania z komponentów ............................................ 34
              Zakładka Standard........................................................................................................... 36
                 MainMenu................................................................................................................. 37
                 Label ......................................................................................................................... 37
                 Edit............................................................................................................................ 38
                 Memo ........................................................................................................................ 40
                 Button........................................................................................................................ 41
                 CheckBox i GroupBox.............................................................................................. 43
                 RadioGroup i RadioButton ....................................................................................... 44
                 ListBox...................................................................................................................... 45
                 ComboBox ................................................................................................................ 47
                 ActionList ................................................................................................................. 48
              Zakładka Additional ........................................................................................................ 50
                 BitBtn........................................................................................................................ 50
                 SpeedButton.............................................................................................................. 51
                 MaskEdit ................................................................................................................... 51
                 StringGrid ................................................................................................................. 52
4                                                                                                       C++Builder 6 i bazy danych


                   DrawGrid .................................................................................................................. 73
                   Image......................................................................................................................... 74
                   Shape......................................................................................................................... 75
                   Bevel ......................................................................................................................... 75
                   ScrollBox .................................................................................................................. 75
                   CheckListBox............................................................................................................ 77
                   Splitter....................................................................................................................... 78
                   StaticText .................................................................................................................. 79
                   ControlBar................................................................................................................. 79
                   ApplicationEvents..................................................................................................... 79
                   ValueListEditor......................................................................................................... 79
                   LabeledEdit ............................................................................................................... 80
                   ColorBox................................................................................................................... 80
                   Chart.......................................................................................................................... 80
                Zakładka Win32 .............................................................................................................. 82
                   TabControl i PageControl ......................................................................................... 82
                   ImageList .................................................................................................................. 82
                   RichEdit .................................................................................................................... 83
                   TrackBar i ProgressBar ............................................................................................. 85
                   UpDown.................................................................................................................... 85
                   HotKey...................................................................................................................... 85
                   Animate..................................................................................................................... 86
                   DateTimePicker i MonthCalendar............................................................................. 87
                   TreeView................................................................................................................... 87
                   ListView.................................................................................................................... 88
                   StatusBar ................................................................................................................... 89
                   ToolBar ..................................................................................................................... 91
                Zakładka System ............................................................................................................. 91
                   Timer......................................................................................................................... 91
                   PaintBox.................................................................................................................... 92
                Zakładka Dialogs............................................................................................................. 93
                Zakładka Win 3.1 ............................................................................................................ 94
                Zakładka Samples............................................................................................................ 95
                   TrayIcon.................................................................................................................... 95
                Podsumowanie ................................................................................................................ 96
Rozdział 3. Elementy grafiki .............................................................................. 97
                Wstęp .............................................................................................................................. 97
                Podstawowe elementy grafiki.......................................................................................... 97
                Podstawowe operacje na obrazach ................................................................................ 124
                Save Screen ................................................................................................................... 129
                Podstawy operacji graficznych w systemie Windows ................................................... 132
                Drukowanie grafiki........................................................................................................ 142
                Podsumowanie .............................................................................................................. 143
Rozdział 4. Niewizualne środki programowania ................................................. 145
                Wstęp ............................................................................................................................ 145
                Pliki ini.......................................................................................................................... 145
                Lista stringów — klasa TStringList............................................................................... 152
                Lista obiektów — klasaTList ........................................................................................ 157
                Lista obiektów — klasa TObjectList ............................................................................. 159
                Schowek Windows ........................................................................................................ 163
                Rejestr Windows ........................................................................................................... 172
                Podsumowanie .............................................................................................................. 176
Spis treści                                                                                                                                           5


Część II        Przegląd zaawansowanych elementów języka C++.........177
Rozdział 5. Wskaźniki...................................................................................... 179
                Wstęp ............................................................................................................................ 179
                O czym mówimy? ......................................................................................................... 179
                Operatory new i delete .................................................................................................. 187
                Referencje ..................................................................................................................... 190
                New, delete i referencja................................................................................................. 193
                Tablice jako wskaźniki .................................................................................................. 194
                Tablice wskaźników ...................................................................................................... 198
                Uniwersalny wskaźnik void*......................................................................................... 201
                Tablica tworzona dynamicznie...................................................................................... 203
                Arytmetyka wskaźników ............................................................................................... 204
                Wskaźnik na wskaźnik .................................................................................................. 206
                Dynamiczne listy........................................................................................................... 207
                    Lista jednokierunkowa ............................................................................................ 207
                    Lista dwukierunkowa .............................................................................................. 211
                Stos................................................................................................................................ 213
                Podsumowanie .............................................................................................................. 217
Rozdział 6. Programowanie obiektowe ............................................................. 219
                Wstęp ............................................................................................................................ 219
                Klasy ............................................................................................................................. 219
                Instancja klasy ............................................................................................................... 220
                Konstruktor ................................................................................................................... 223
                Destruktor...................................................................................................................... 226
                Składowa statyczna ....................................................................................................... 227
                this................................................................................................................................. 230
                Dziedziczenie ................................................................................................................ 231
                Specyfikatory dostępu a dziedziczenie .......................................................................... 236
                Dziedziczenie wielokrotne ............................................................................................ 238
                Przecią anie funkcji ...................................................................................................... 239
                Przesłanianie ................................................................................................................. 240
                Polimorfizm i metody wirtualne.................................................................................... 241
                Konstruktor kopiowania ................................................................................................ 247
                Przecią anie operatorów................................................................................................ 251
                Funkcje zaprzyjaźnione................................................................................................. 256
                Przecią anie operatorów dwuargumentowych .............................................................. 259
                Klasa abstrakcyjna......................................................................................................... 266
                Podsumowanie .............................................................................................................. 269
Rozdział 7. Wielowątkowość............................................................................ 271
                Wstęp ............................................................................................................................ 271
                Klasa TThread ............................................................................................................... 274
                Funkcje oczekujące ....................................................................................................... 280
                Semafor ......................................................................................................................... 282
                Sekcje krytyczne ........................................................................................................... 286
                Mutex ............................................................................................................................ 287
                Priorytet wątku .............................................................................................................. 289
                Podsumowanie .............................................................................................................. 290
Rozdział 8. Biblioteki DLL ................................................................................ 291
                Wstęp ............................................................................................................................ 291
                Budujemy pierwszą bibliotekę DLL.............................................................................. 292
                Wykorzystanie biblioteki DLL — ładowanie statyczne ................................................ 295
6                                                                                                       C++Builder 6 i bazy danych


                Wykorzystanie kodu biblioteki DLL — ładowanie dynamiczne................................... 296
                Formularz w bibliotece DLL ......................................................................................... 300
                Eksportowanie klas........................................................................................................ 302
                Podsumowanie .............................................................................................................. 306
Rozdział 9. Wykorzystujemy VCL...................................................................... 307
                Wstęp ............................................................................................................................ 307
                Rozpoczynamy pracę z VCL......................................................................................... 307
                Zarządzanie formularzami............................................................................................. 310
                Okno modalne ............................................................................................................... 311
                Okno niemodalne .......................................................................................................... 312
                Rozszerzanie mo liwości komponentów VCL.............................................................. 315
                Instalacja komponentu................................................................................................... 317
                Obsługa wyjątków......................................................................................................... 319
                Podsumowanie .............................................................................................................. 327

Część III Elementy projektowania systemów baz danych..............329
Rozdział 10. Planujemy bazę danych .................................................................. 331
                Wstęp ............................................................................................................................ 331
                Analiza problemu .......................................................................................................... 331
                Model bazy danych ....................................................................................................... 332
                Uwagi na temat implementacji ...................................................................................... 337
                Podsumowanie .............................................................................................................. 338
Rozdział 11. Elementy UML ............................................................................... 339
                Wstęp ............................................................................................................................ 339
                Podstawy UML ............................................................................................................. 341
                   Scenariusz ............................................................................................................... 341
                   Przypadki u ycia (Use Case Diagram).................................................................... 341
                   Diagramy klas (Class Diagram) .............................................................................. 343
                   Diagramy obiektów................................................................................................. 346
                   Diagramy aktywności.............................................................................................. 346
                   Diagramy sekwencji (przebiegu)............................................................................. 346
                   Diagramy kooperacji (współpracy) ......................................................................... 348
                   Diagramy stanów .................................................................................................... 348
                   Diagramy wdro enia ............................................................................................... 348
                Podsumowanie .............................................................................................................. 350
Rozdział 12. Praca w grupie. Program CVS......................................................... 351
                Wstęp ............................................................................................................................ 351
                CVS............................................................................................................................... 351
                Pobieramy plik instalacyjny .......................................................................................... 353
                Instalacja ....................................................................................................................... 353
                Tworzymy repozytorium ............................................................................................... 354
                Pierwszy śledzony projekt............................................................................................. 355
                Po zmianach .................................................................................................................. 356
                Usuwamy plik z projektu .............................................................................................. 359
                Przywracamy poprzednią wersję ................................................................................... 359
                Podsumowanie .............................................................................................................. 359
Rozdział 13. Elementy SQL ................................................................................ 361
                Wstęp ............................................................................................................................ 361
                SQL — co to jest? ......................................................................................................... 361
                Baza danych .................................................................................................................. 362
Spis treści                                                                                                                                         7


                Tabele............................................................................................................................ 362
                Tworzenie tabel ............................................................................................................. 364
                Select............................................................................................................................. 365
                Klucz główny (primary key).......................................................................................... 367
                Klucz obcy (foreign key) i integralność referencyjna.................................................... 368
                Wartość NULL.............................................................................................................. 370
                Domena ......................................................................................................................... 372
                Indeksy .......................................................................................................................... 373
                Widoki (perspektywy) ................................................................................................... 375
                Wyzwalacze i generatory .............................................................................................. 377
                Procedury ...................................................................................................................... 378
                Transakcje ..................................................................................................................... 379
                Podsumowanie .............................................................................................................. 379
Rozdział 14. Narzędzia wspomagające tworzenie i modyfikację bazy danych........ 381
                Wstęp ............................................................................................................................ 381
                Database Desktop.......................................................................................................... 381
                Datapump ...................................................................................................................... 384
                Podsumowanie .............................................................................................................. 386
Rozdział 15. Pliki tekstowe ............................................................................... 387
                Wstęp ............................................................................................................................ 387
                Przetwarzamy pliki tekstowe......................................................................................... 387
                Podsumowanie .............................................................................................................. 392
Rozdział 16. Strumienie plikowe ........................................................................ 393
                Wstęp ............................................................................................................................ 393
                Klasa TFileStream......................................................................................................... 393
                Zapis struktury danych do strumienia plikowego .......................................................... 395
                Odczyt struktury danych ze strumienia plikowego........................................................ 399
                Zapis du ych porcji danych w strumieniu plikowym .................................................... 400
                Podsumowanie .............................................................................................................. 402

Część IV Przegląd technologii baz danych ...................................403
Rozdział 17. MS SQL Server 2000 i ADO............................................................ 405
                Wstęp ............................................................................................................................ 405
                MS SQL Server 2000 .................................................................................................... 406
                Tworzymy bazę danych................................................................................................. 406
                Komponenty z zakładki ADO ....................................................................................... 409
                    ADOConnection...................................................................................................... 410
                    ADOCommand ....................................................................................................... 413
                    ADOTable, ADOQuery, ADOStoredProc .............................................................. 415
                    ADODataSet ........................................................................................................... 415
                ADO i transakcje ........................................................................................................... 418
                Motor JET ..................................................................................................................... 419
                Instalacja MSDE 2000 w środowisku Windows XP ..................................................... 421
                Podsumowanie .............................................................................................................. 424
Rozdział 18. Interfejs bazodanowy ..................................................................... 425
                Wstęp ............................................................................................................................ 425
                Abstrakcja rekordu tabeli .............................................................................................. 427
                Abstrakcja tabeli bazy danych....................................................................................... 432
                Wykorzystywanie interfejsu bazodanowego ................................................................. 442
                Podsumowanie .............................................................................................................. 451
8                                                                                                       C++Builder 6 i bazy danych


Rozdział 19. MySQL i dbExpress ........................................................................ 453
                Wstęp ............................................................................................................................ 453
                Elementy bazy danych MySQL..................................................................................... 454
                   MySQL — uruchomienie serwera........................................................................... 454
                   U ytkownicy i uprawnienia .................................................................................... 455
                   Zmiana hasła administratora ................................................................................... 455
                   Inni u ytkownicy..................................................................................................... 456
                   Definiowanie nowego u ytkownika ........................................................................ 456
                   Minimum uprawnień............................................................................................... 457
                   Tworzenie bazy danych........................................................................................... 458
                   Usuwanie bazy danych............................................................................................ 459
                   Tworzenie tabel....................................................................................................... 459
                   Rozró nianie wielkości liter w systemie Linux....................................................... 461
                dbExpress ...................................................................................................................... 461
                   SQLConnection....................................................................................................... 463
                   SQLDataSet ............................................................................................................ 465
                   Transakcje ............................................................................................................... 474
                   ClientDataSet .......................................................................................................... 477
                   Komunikacja dwukierunkowa................................................................................. 483
                   Informacje na temat bazy danych............................................................................ 486
                   SQLMonitor............................................................................................................ 487
                Biblioteka komponentów ZEOS.................................................................................... 488
                Podsumowanie .............................................................................................................. 490
Rozdział 20. PostgreSQL, XBase i ODBC ............................................................ 491
                Wstęp ............................................................................................................................ 491
                PostgreSQL 8.0. Instalacja ............................................................................................ 491
                Pierwsze uruchomienie.................................................................................................. 493
                Tworzymy grupy u ytkowników................................................................................... 495
                Tworzymy u ytkowników............................................................................................. 495
                Tworzymy bazę danych................................................................................................. 497
                Tworzymy tabele........................................................................................................... 497
                ODBC............................................................................................................................ 499
                Łączymy się z PostgreSQL, u ywając ODBC............................................................... 503
                ODBC i XBase .............................................................................................................. 505
                Podsumowanie .............................................................................................................. 507
Rozdział 21. InterBase i IBX .............................................................................. 509
                Wstęp ............................................................................................................................ 509
                Rozpoczynamy pracę z bazą danych InterBase ............................................................. 510
                IBConcole ..................................................................................................................... 511
                Interactive SQL ............................................................................................................. 518
                Backup .......................................................................................................................... 523
                Restore .......................................................................................................................... 525
                U ytkownicy i uprawnienia........................................................................................... 527
                IBX................................................................................................................................ 530
                Połączenie z InterBase................................................................................................... 531
                    IBDatabase .............................................................................................................. 531
                    IBTransaction.......................................................................................................... 533
                    IBQuery................................................................................................................... 535
                    Wykonywanie polecenia SQL................................................................................. 547
                    Polecenia SQL z parametrami................................................................................. 547
                    OnGetText, OnSetText, OnValidate ....................................................................... 550
                    IBTable ................................................................................................................... 552
Spis treści                                                                                                                                         9


                    IBStoredProc........................................................................................................... 554
                 Monitorowanie bazy danych InterBase ......................................................................... 556
                 Odinstalowanie serwera InterBase ................................................................................ 556
                 Podsumowanie .............................................................................................................. 556
Rozdział 22. BDE .............................................................................................. 557
                 Wstęp ............................................................................................................................ 557
                 Zakładka BDE i jej komponenty ................................................................................... 557
                    Database.................................................................................................................. 560
                    Query....................................................................................................................... 561
                    Table ....................................................................................................................... 564
                    UpdateSQL ............................................................................................................. 579
                    StoredProc............................................................................................................... 584
                 Podsumowanie .............................................................................................................. 585
Rozdział 23. XML i DOM.................................................................................... 587
                 Wstęp ............................................................................................................................ 587
                 Budowa pliku XML ...................................................................................................... 588
                    1. Wielkość liter ...................................................................................................... 589
                    2. Ignorowane znaki ................................................................................................ 589
                    3. Mo liwość stosowania komentarzy..................................................................... 589
                    4. Parowanie znaczników........................................................................................ 589
                    5. Obecność elementu głównego............................................................................. 590
                    6. Znaki zastrze one................................................................................................ 590
                    7. Stosowanie sekcji CDATA ................................................................................. 590
                    8. Stosowanie atrybutów ......................................................................................... 591
                    9. Nagłówek dokumentu XML................................................................................ 591
                    10. Deklaracja typu dokumentu............................................................................... 591
                 Analiza dokumentów XML........................................................................................... 592
                 BCB6 a XML ................................................................................................................ 592
                 XML Data Binding Wizard ........................................................................................... 598
                 Podsumowanie .............................................................................................................. 605

Dodatki ......................................................................................607
                 Skorowidz...................................................................................... 609
Rozdział 19.
MySQL i dbExpress

Wstęp
   W tym rozdziale postaram się omówić podstawy związane z serwerem baz danych My-
   SQL. Na pewno większość Czytelników wie, e MySQL jest szeroko wykorzystywany
   w zastosowaniach związanych z internetem, szczególnie w tych, w których wspomaga
   się budowanie dynamicznych stron WWW (we współpracy z PHP). Przede wszystkim
   jest to darmowy system obsługi bazy danych (dopóki wykorzystujemy go do celów
   innych ni zarobkowe). Dla nas najwa niejszy jest fakt, e jest to produkt, który jest
   dostępny dla platform Linux oraz Windows (jak równie dla innych systemów). Dla
   naszych celów wystarczy w zupełności wersja oferowana w ramach licencji GNU.
   Główna strona i źródło wiadomości o MySQL to strona WWW o adresie http://www.
   mysql.com, na której mo na przeczytać między innymi, e jest to najpopularniejsza
   baza danych oferowana w ramach Open Source (ponad 5 milionów instalacji). Pole-
   ciłbym równie polskie strony WWW na temat MySQL. Warto jest poszukać pakietu
   o nazwie Krasnal Serv (na przykład strona WWW o adresie http://programy.onet.pl/
   40,56,9737,programy.html), który zawiera: Apache, PHP, MySQL, ActivePerl, phpMy-
   Admin, Zend Optimizer, CesarFTP, WebAlizer, Free SMTP Server, SQLiteManager.
   Mnie osobiście bardzo przypadł do gustu produkt o nazwie WAMP (http://www.wamp-
   server.com/download.php). Dla celów zarządzania bazą danych MySQL mo na ścią-
   gnąć oprócz wymienionych narzędzi doskonały program o nazwie EMS MySQL
   Manager (http://sqlmanager.net/products/mysql/manager/).

   Ja zdecydowałem się na ściągnięcie i zainstalowanie serwera MySQL z pliku o nazwie
   mysql-3.23.49-win.zip. Starsze wersje tej bazy danych (w tym równie wersję 3.23)
   mo na pobrać ze strony http://downloads.mysql.com/archives.php. W plikach tekstowych
   BCB6 mo na znaleźć wzmiankę o przeznaczeniu sterownika dbExpress dla serii MySQL
   oznaczonej numeracją 3.23.x. Na stronach frimy Borland udało mi się znaleźć ste-
   rownik do wersji MySQL 4 http://codecentral.borland.com/codecentral/ccweb.exe/lis-
   ting?id=17739.
454                                               Część IV ♦ Przegląd technologii baz danych



Elementy bazy danych MySQL
         Proponuję, aby Czytelnicy zdecydowali się na początek na instalację wersji 3.23.x. Po
         rozpakowaniu pliku mysql-3.23.49-win.zip instalację mo na uruchomić, wskazując
         plik setup.exe. Domyślna instalacja dokona się do katalogu c:mysql. Instalacja ta
         zajmuje na dysku około 28 MB. W dalszym ciągu będę zakładał, e u ytkownik zain-
         stalował serwer MySQL w wersji 3.23 w typowy sposób.


MySQL — uruchomienie serwera
         W standardowej instalacji znajduje się program o nazwie winmsqladmin.exe, który nale y
         uruchomić na wstępie. Po uruchomieniu program ma swój odpowiednik w dolnym
         prawym rogu ekranu przypominający wyglądem sygnalizator świetlny, który mo emy
         zwykle spotkać na drogach. Wygląd ikony podpowiada nam o stanie działania serwera
         MySQL. Konieczne jest, aby w ikonie było zapalone zielone światło. Je eli ikona ma
         zapalone światło czerwone, wówczas trzeba sprawdzić, dlaczego serwer nie działa. Pro-
         gram instalacyjny MySQL działa dość sprawnie i raczej po wykonaniu standardowej
         instalacji na dysku lokalnym nie ma potrzeby korygowania czegokolwiek. W razie, gdyby
         po zainstalowaniu programu serwer nie działał, proponuję zajrzeć do pliku manual.hlp,
         gdzie są opisane szczegóły instalacyjne związane z instalacją dla konkretnych wersji
         systemów operacyjnych. Po zainstalowaniu serwera MySQL oraz uruchomieniu pro-
         gramu winmsqladmin.exe przystąpimy do wykonania pierwszych czynności na serwerze
         bazy danych MySQL. Przy pierwszym uruchomieniu na ekranie pojawia się okno jak
         na rysunku 19.1. W oknie tym mo emy zdefiniować hasło dla domyślnego u ytkow-
         nika — administratora bazy danych, jakim jest u ytkownik root. Dla naszych potrzeb
         skorzystamy z uproszczonej wersji programu pracującego w trybie znakowym o nazwie
         mysql.exe (poło enie pliku — c:mysqlbin). Aby zalogować się do serwera MySQL,
         u yjemy polecenia o następującej składni:
            O[USN J PCYCAJQUVC W PCYCAW [VMQYPKMC R

Rysunek 19.1.
Okno definiowania
u ytkownika i hasła
administratora




         Podanie polecenia O[USN uruchomi program, który przedstawi się jako MySQL Monitor.
         U ycie parametru J pozwala na podanie komputera (hosta), z którym chcemy się połączyć
Rozdział 19. ♦ MySQL i dbExpress                                                       455


       (na którym działa nasz serwer MySQL), natomiast parametr podany po W słu y do poda-
       nia nazwy u ytkownika. Je eli pominiemy ten parametr, zostanie domyślnie wybrany
       u ytkownik, który został podany przy logowaniu się do systemu operacyjnego. Na po-
       czątku — zaraz po zainstalowaniu — serwer MySQL zna tylko nazwę jednego u yt-
       kownika o nazwie root. Parametr R informuje o tym, e chcemy na etapie logowania
       się u yć równie hasła. Dla instalacji lokalnej, tak jak w naszym przypadku, wy-
       starczy podanie polecenia:
          O[USN W TQQV

       lub po prostu:
          O[USN

       (polecenie nale y podać po przejściu do katalogu c:mysqlbin lub po zapewnieniu
       widoczności tego katalogu w zmiennej systemowej PATH). Kiedy ju u ytkownik
       root będzie miał unikalne hasło, powinniśmy uruchamiać monitor, podając:
          O[USN W TQQV R

       co spowoduje, e zostaniemy zapytani o hasło dla u ytkownika root.

       Zakończenie pracy z programem MySQL Monitor wykonujemy, wydając polecenie:
          SWKV

       lub:
          GZKV



Użytkownicy i uprawnienia
       Dla celów bezpieczeństwa oraz dla wygody własnej oraz u ytkowników bazy danych
       nale y utworzyć indywidualne konta u ytkowników bazy danych MySQL. Posłu ymy
       się w tym celu poleceniem )TCPV. Polecenie )TCPV mo e słu yć do nadawania uprawnień
       globalnych, dotyczących bazy danych albo dotyczących tabel lub kolumn. To samo
       dotyczy polecenia 4GXQMG słu ącego do odbierania uprawnień. Problemowi nadawania
       stosownych uprawnień mo na by poświęcić osobny rozdział, dlatego w tym miejscu
       zasugeruję dokładne zapoznanie się z mo liwościami tych poleceń. Dla naszych celów
       podam jedynie podstawowe informacje na ten temat.


Zmiana hasła administratora
       Aby zabezpieczyć serwer MySQL przed niepowołanym dostępem, powinniśmy przede
       wszystkim nadać hasło u ytkownikowi root. Operację tę mo na wykonać na kilka
       sposobów.

       Pierwszy sposób.
         1. Zalogować się do MySQL, podając:
              EO[USNDKPO[USN W TQQV
456                                            Część IV ♦ Przegląd technologii baz danych


          Polecenie to spowoduje uruchomienie programu MySQL Monitor
          z uprawnieniami administratora.
        2. Wpisać i zatwierdzić polecenie:
             WUG O[USN

          Polecenie to spowoduje, e baza O[USN, w której są przechowywane informacje
          o u ytkownikach, stanie się bazą aktywną. Potwierdzeniem tego faktu będzie
          pojawienie się na ekranie napisu:
             CVCDCUG EJCPIGF

        3. Wpisać i wykonać polecenie:
             72#6' WUGT UGV 2CUUYQTF2#55914
 PGYARCUUYQTF  YJGTG WUGT  TQQV 

        4. Utrwalić dokonaną zmianę, podając i zatwierdzając polecenie:
             (.75* 24+8+.')'5

      Drugi sposób:
        O[USN W TQQV
        WUG O[USN
        5'6 2#55914 (14 TQQVNQECNJQUV2#59914
 PGYARCUUYQTF 



Inni użytkownicy
      U ytkownicy, którzy nie są u ytkownikami anonimowymi (ananymous) i jednocześnie
      nie posiadają uprawnień do zmiany haseł innych u ytkowników, mogą dokonać zmiany
      swojego hasła, podając w programie MySQL Monitor po zalogowaniu się na własne
      konto polecenie:
        5'6 2#55914  2#59914
 PGYARCUUYQTF 



Definiowanie nowego użytkownika
      Oto przykład demonstrujący utworzenie nowego u ytkownika. Najpierw logujemy się
      lokalnie jako root:
        O[USN W TQQV

      lub je eli root ma ju hasło:
        O[USN W TQQV R

      Po podaniu hasła u ytkownika root napiszemy następującą instrukcję:
        ITCPV CNN
        QP
VQ RTCEQYPKMNQECNJQUV

      i sprawdzamy instrukcją:
        UJQY ITCPVU HQT RTCEQYPKMNQECNJQUV
Rozdział 19. ♦ MySQL i dbExpress                                                         457


       W efekcie działania powy szych poleceń powstanie u ytkownik o nazwie RTCEQYPKM —
       bez hasła. U ytkownik ten będzie posiadał wszystkie prawa CNN do wszystkich obiektów
       bazy danych
. Wiersz ostatni umo liwia wyświetlenie posiadanych przez nowego
       u ytkownika uprawnień. Odbierzemy teraz wszystkie uprawnienia nowemu u ytkow-
       nikowi:
          TGXQMG #.. =24+8+.')'5?
          QP

More Related Content

What's hot

C++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznychC++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznychWydawnictwo Helion
 
CorelDRAW 11. Ćwiczenia zaawansowane
CorelDRAW 11. Ćwiczenia zaawansowaneCorelDRAW 11. Ćwiczenia zaawansowane
CorelDRAW 11. Ćwiczenia zaawansowaneWydawnictwo Helion
 
Aplikacje w Delphi. Przykłady. Wydanie II
Aplikacje w Delphi. Przykłady. Wydanie IIAplikacje w Delphi. Przykłady. Wydanie II
Aplikacje w Delphi. Przykłady. Wydanie IIWydawnictwo Helion
 
Język C++. Gotowe rozwiązania dla programistów
Język C++. Gotowe rozwiązania dla programistówJęzyk C++. Gotowe rozwiązania dla programistów
Język C++. Gotowe rozwiązania dla programistówWydawnictwo Helion
 
CorelDRAW 12. Oficjalny podręcznik
CorelDRAW 12. Oficjalny podręcznikCorelDRAW 12. Oficjalny podręcznik
CorelDRAW 12. Oficjalny podręcznikWydawnictwo Helion
 
C++Builder. Kompendium programisty
C++Builder. Kompendium programistyC++Builder. Kompendium programisty
C++Builder. Kompendium programistyWydawnictwo Helion
 
Adobe Creative Suite 2/2 PL. Oficjalny podręcznik
Adobe Creative Suite 2/2 PL. Oficjalny podręcznikAdobe Creative Suite 2/2 PL. Oficjalny podręcznik
Adobe Creative Suite 2/2 PL. Oficjalny podręcznikWydawnictwo Helion
 
Visual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programistyVisual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programistyWydawnictwo Helion
 
Visual Studio 2005. Programowanie z Windows API w języku C++
Visual Studio 2005. Programowanie z Windows API w języku C++Visual Studio 2005. Programowanie z Windows API w języku C++
Visual Studio 2005. Programowanie z Windows API w języku C++Wydawnictwo Helion
 
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznik
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznikAdobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznik
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznikWydawnictwo Helion
 
C++ dla programistów gier. Wydanie II
C++ dla programistów gier. Wydanie IIC++ dla programistów gier. Wydanie II
C++ dla programistów gier. Wydanie IIWydawnictwo Helion
 
CorelDRAW 11. Vademecum profesjonalisty. Tom 1
CorelDRAW 11. Vademecum profesjonalisty. Tom 1CorelDRAW 11. Vademecum profesjonalisty. Tom 1
CorelDRAW 11. Vademecum profesjonalisty. Tom 1Wydawnictwo Helion
 
Delphi 2007 dla WIN32 i bazy danych
Delphi 2007 dla WIN32 i bazy danychDelphi 2007 dla WIN32 i bazy danych
Delphi 2007 dla WIN32 i bazy danychWydawnictwo Helion
 
Access 2002. Tworzenie baz danych
Access 2002. Tworzenie baz danychAccess 2002. Tworzenie baz danych
Access 2002. Tworzenie baz danychWydawnictwo Helion
 
JBuilder. Vademecum profesjonalisty
JBuilder. Vademecum profesjonalistyJBuilder. Vademecum profesjonalisty
JBuilder. Vademecum profesjonalistyWydawnictwo Helion
 

What's hot (20)

C++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznychC++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznych
 
JBuilder i bazy danych
JBuilder i bazy danychJBuilder i bazy danych
JBuilder i bazy danych
 
AutoCAD 2004
AutoCAD 2004AutoCAD 2004
AutoCAD 2004
 
CorelDRAW 11. Ćwiczenia zaawansowane
CorelDRAW 11. Ćwiczenia zaawansowaneCorelDRAW 11. Ćwiczenia zaawansowane
CorelDRAW 11. Ćwiczenia zaawansowane
 
Aplikacje w Delphi. Przykłady. Wydanie II
Aplikacje w Delphi. Przykłady. Wydanie IIAplikacje w Delphi. Przykłady. Wydanie II
Aplikacje w Delphi. Przykłady. Wydanie II
 
Język C++. Gotowe rozwiązania dla programistów
Język C++. Gotowe rozwiązania dla programistówJęzyk C++. Gotowe rozwiązania dla programistów
Język C++. Gotowe rozwiązania dla programistów
 
CorelDRAW 12. Oficjalny podręcznik
CorelDRAW 12. Oficjalny podręcznikCorelDRAW 12. Oficjalny podręcznik
CorelDRAW 12. Oficjalny podręcznik
 
C++Builder. Kompendium programisty
C++Builder. Kompendium programistyC++Builder. Kompendium programisty
C++Builder. Kompendium programisty
 
Adobe Creative Suite 2/2 PL. Oficjalny podręcznik
Adobe Creative Suite 2/2 PL. Oficjalny podręcznikAdobe Creative Suite 2/2 PL. Oficjalny podręcznik
Adobe Creative Suite 2/2 PL. Oficjalny podręcznik
 
Visual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programistyVisual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programisty
 
Visual Studio 2005. Programowanie z Windows API w języku C++
Visual Studio 2005. Programowanie z Windows API w języku C++Visual Studio 2005. Programowanie z Windows API w języku C++
Visual Studio 2005. Programowanie z Windows API w języku C++
 
Visual C# .NET. Encyklopedia
Visual C# .NET. EncyklopediaVisual C# .NET. Encyklopedia
Visual C# .NET. Encyklopedia
 
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznik
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznikAdobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznik
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznik
 
C++ dla programistów gier. Wydanie II
C++ dla programistów gier. Wydanie IIC++ dla programistów gier. Wydanie II
C++ dla programistów gier. Wydanie II
 
CorelDRAW 11. Vademecum profesjonalisty. Tom 1
CorelDRAW 11. Vademecum profesjonalisty. Tom 1CorelDRAW 11. Vademecum profesjonalisty. Tom 1
CorelDRAW 11. Vademecum profesjonalisty. Tom 1
 
Delphi 2007 dla WIN32 i bazy danych
Delphi 2007 dla WIN32 i bazy danychDelphi 2007 dla WIN32 i bazy danych
Delphi 2007 dla WIN32 i bazy danych
 
Access 2002. Tworzenie baz danych
Access 2002. Tworzenie baz danychAccess 2002. Tworzenie baz danych
Access 2002. Tworzenie baz danych
 
AutoCAD 2004 PL
AutoCAD 2004 PLAutoCAD 2004 PL
AutoCAD 2004 PL
 
ABC Delphi 2006
ABC Delphi 2006ABC Delphi 2006
ABC Delphi 2006
 
JBuilder. Vademecum profesjonalisty
JBuilder. Vademecum profesjonalistyJBuilder. Vademecum profesjonalisty
JBuilder. Vademecum profesjonalisty
 

Viewers also liked

Projektowanie stron WWW. Jak to zrobić?
Projektowanie stron WWW. Jak to zrobić?Projektowanie stron WWW. Jak to zrobić?
Projektowanie stron WWW. Jak to zrobić?Wydawnictwo Helion
 
Cyfrowe filmy wideo. Leksykon kieszonkowy
Cyfrowe filmy wideo. Leksykon kieszonkowyCyfrowe filmy wideo. Leksykon kieszonkowy
Cyfrowe filmy wideo. Leksykon kieszonkowyWydawnictwo Helion
 
Angielski z komputerem. Programy, słowniki komputerowe i strony WWW
Angielski z komputerem. Programy, słowniki komputerowe i strony WWWAngielski z komputerem. Programy, słowniki komputerowe i strony WWW
Angielski z komputerem. Programy, słowniki komputerowe i strony WWWWydawnictwo Helion
 
Zaawansowane modele finansowe z wykorzystaniem Excela i VBA
Zaawansowane modele finansowe z wykorzystaniem Excela i VBAZaawansowane modele finansowe z wykorzystaniem Excela i VBA
Zaawansowane modele finansowe z wykorzystaniem Excela i VBAWydawnictwo Helion
 
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązaniaJava. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązaniaWydawnictwo Helion
 
Black Ice. Niewidzialna groźba cyberterroryzmu
Black Ice. Niewidzialna groźba cyberterroryzmuBlack Ice. Niewidzialna groźba cyberterroryzmu
Black Ice. Niewidzialna groźba cyberterroryzmuWydawnictwo Helion
 
Projektowanie serwisów WWW. Standardy sieciowe
Projektowanie serwisów WWW. Standardy siecioweProjektowanie serwisów WWW. Standardy sieciowe
Projektowanie serwisów WWW. Standardy siecioweWydawnictwo Helion
 

Viewers also liked (14)

Projektowanie stron WWW. Jak to zrobić?
Projektowanie stron WWW. Jak to zrobić?Projektowanie stron WWW. Jak to zrobić?
Projektowanie stron WWW. Jak to zrobić?
 
Excel 2003 PL. Biblia
Excel 2003 PL. BibliaExcel 2003 PL. Biblia
Excel 2003 PL. Biblia
 
ABC Neostrada
ABC NeostradaABC Neostrada
ABC Neostrada
 
Po prostu Excel 2003 PL
Po prostu Excel 2003 PLPo prostu Excel 2003 PL
Po prostu Excel 2003 PL
 
Cyfrowe filmy wideo. Leksykon kieszonkowy
Cyfrowe filmy wideo. Leksykon kieszonkowyCyfrowe filmy wideo. Leksykon kieszonkowy
Cyfrowe filmy wideo. Leksykon kieszonkowy
 
Angielski z komputerem. Programy, słowniki komputerowe i strony WWW
Angielski z komputerem. Programy, słowniki komputerowe i strony WWWAngielski z komputerem. Programy, słowniki komputerowe i strony WWW
Angielski z komputerem. Programy, słowniki komputerowe i strony WWW
 
Zaawansowane modele finansowe z wykorzystaniem Excela i VBA
Zaawansowane modele finansowe z wykorzystaniem Excela i VBAZaawansowane modele finansowe z wykorzystaniem Excela i VBA
Zaawansowane modele finansowe z wykorzystaniem Excela i VBA
 
Nomadzi cyberprzestrzeni
Nomadzi cyberprzestrzeniNomadzi cyberprzestrzeni
Nomadzi cyberprzestrzeni
 
Cubase SX. Szybki start
Cubase SX. Szybki startCubase SX. Szybki start
Cubase SX. Szybki start
 
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązaniaJava. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
 
Black Ice. Niewidzialna groźba cyberterroryzmu
Black Ice. Niewidzialna groźba cyberterroryzmuBlack Ice. Niewidzialna groźba cyberterroryzmu
Black Ice. Niewidzialna groźba cyberterroryzmu
 
Excel 2003 PL. Kurs
Excel 2003 PL. KursExcel 2003 PL. Kurs
Excel 2003 PL. Kurs
 
Projektowanie serwisów WWW. Standardy sieciowe
Projektowanie serwisów WWW. Standardy siecioweProjektowanie serwisów WWW. Standardy sieciowe
Projektowanie serwisów WWW. Standardy sieciowe
 
Internet. Przewodnik
Internet. PrzewodnikInternet. Przewodnik
Internet. Przewodnik
 

Similar to C++Builder 6 i bazy danych

C++ Builder 6. Vademecum profesjonalisty
C++ Builder 6. Vademecum profesjonalistyC++ Builder 6. Vademecum profesjonalisty
C++ Builder 6. Vademecum profesjonalistyWydawnictwo Helion
 
C++. 50 efektywnych sposobów na udoskonalenie Twoich programów
C++. 50 efektywnych sposobów na udoskonalenie Twoich programówC++. 50 efektywnych sposobów na udoskonalenie Twoich programów
C++. 50 efektywnych sposobów na udoskonalenie Twoich programówWydawnictwo Helion
 
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsVisual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
C++. Styl i technika zaawansowanego programowania
C++. Styl i technika zaawansowanego programowaniaC++. Styl i technika zaawansowanego programowania
C++. Styl i technika zaawansowanego programowaniaWydawnictwo Helion
 
Visual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programistyVisual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programistyWydawnictwo Helion
 
C++. Zaawansowane programowanie
C++. Zaawansowane programowanieC++. Zaawansowane programowanie
C++. Zaawansowane programowanieWydawnictwo Helion
 
C++. Inżynieria programowania
C++. Inżynieria programowaniaC++. Inżynieria programowania
C++. Inżynieria programowaniaWydawnictwo Helion
 
Wstęp do programowania w języku C#
Wstęp do programowania w języku C#Wstęp do programowania w języku C#
Wstęp do programowania w języku C#Wydawnictwo Helion
 
Język C++. Koncepcje i techniki programowania
Język C++. Koncepcje i techniki programowaniaJęzyk C++. Koncepcje i techniki programowania
Język C++. Koncepcje i techniki programowaniaWydawnictwo Helion
 
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcieVisual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcieWydawnictwo Helion
 
Visual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaVisual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaWydawnictwo Helion
 
MS Project 2003. Zarządzanie projektami. Edycja limitowana
MS Project 2003. Zarządzanie projektami. Edycja limitowanaMS Project 2003. Zarządzanie projektami. Edycja limitowana
MS Project 2003. Zarządzanie projektami. Edycja limitowanaWydawnictwo Helion
 
Microsoft SQL Server 2005. Podręcznik programisty
Microsoft SQL Server 2005. Podręcznik programistyMicrosoft SQL Server 2005. Podręcznik programisty
Microsoft SQL Server 2005. Podręcznik programistyWydawnictwo Helion
 
Excel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistówExcel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistówWydawnictwo Helion
 

Similar to C++Builder 6 i bazy danych (20)

C++ Builder 6. Vademecum profesjonalisty
C++ Builder 6. Vademecum profesjonalistyC++ Builder 6. Vademecum profesjonalisty
C++ Builder 6. Vademecum profesjonalisty
 
C++. 50 efektywnych sposobów na udoskonalenie Twoich programów
C++. 50 efektywnych sposobów na udoskonalenie Twoich programówC++. 50 efektywnych sposobów na udoskonalenie Twoich programów
C++. 50 efektywnych sposobów na udoskonalenie Twoich programów
 
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsVisual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
 
C++. Styl i technika zaawansowanego programowania
C++. Styl i technika zaawansowanego programowaniaC++. Styl i technika zaawansowanego programowania
C++. Styl i technika zaawansowanego programowania
 
Visual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programistyVisual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programisty
 
Delphi 7 i bazy danych
Delphi 7 i bazy danychDelphi 7 i bazy danych
Delphi 7 i bazy danych
 
C++. Zaawansowane programowanie
C++. Zaawansowane programowanieC++. Zaawansowane programowanie
C++. Zaawansowane programowanie
 
C# i .NET
C# i .NETC# i .NET
C# i .NET
 
C++. Inżynieria programowania
C++. Inżynieria programowaniaC++. Inżynieria programowania
C++. Inżynieria programowania
 
Wstęp do programowania w języku C#
Wstęp do programowania w języku C#Wstęp do programowania w języku C#
Wstęp do programowania w języku C#
 
Język C++. Koncepcje i techniki programowania
Język C++. Koncepcje i techniki programowaniaJęzyk C++. Koncepcje i techniki programowania
Język C++. Koncepcje i techniki programowania
 
C# i ASP.NET. Szybki start
C# i ASP.NET. Szybki startC# i ASP.NET. Szybki start
C# i ASP.NET. Szybki start
 
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcieVisual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcie
 
C#. Programowanie
C#. ProgramowanieC#. Programowanie
C#. Programowanie
 
Visual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaVisual Basic .NET. Księga eksperta
Visual Basic .NET. Księga eksperta
 
MS Project 2003. Zarządzanie projektami. Edycja limitowana
MS Project 2003. Zarządzanie projektami. Edycja limitowanaMS Project 2003. Zarządzanie projektami. Edycja limitowana
MS Project 2003. Zarządzanie projektami. Edycja limitowana
 
C++. Sztuka programowania
C++. Sztuka programowaniaC++. Sztuka programowania
C++. Sztuka programowania
 
C#. Wzorce projektowe
C#. Wzorce projektoweC#. Wzorce projektowe
C#. Wzorce projektowe
 
Microsoft SQL Server 2005. Podręcznik programisty
Microsoft SQL Server 2005. Podręcznik programistyMicrosoft SQL Server 2005. Podręcznik programisty
Microsoft SQL Server 2005. Podręcznik programisty
 
Excel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistówExcel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistów
 

More from Wydawnictwo Helion

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyWydawnictwo Helion
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikWydawnictwo Helion
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczneWydawnictwo Helion
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieWydawnictwo Helion
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IIWydawnictwo Helion
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuWydawnictwo Helion
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIWydawnictwo Helion
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningWydawnictwo Helion
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykWydawnictwo Helion
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaWydawnictwo Helion
 

More from Wydawnictwo Helion (20)

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. Projekty
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnik
 
Access w biurze i nie tylko
Access w biurze i nie tylkoAccess w biurze i nie tylko
Access w biurze i nie tylko
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółu
 
Windows PowerShell. Podstawy
Windows PowerShell. PodstawyWindows PowerShell. Podstawy
Windows PowerShell. Podstawy
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie II
 
JavaScript. Pierwsze starcie
JavaScript. Pierwsze starcieJavaScript. Pierwsze starcie
JavaScript. Pierwsze starcie
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny trening
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktyk
 
Excel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktykExcel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
 
Access 2007 PL. Seria praktyk
Access 2007 PL. Seria praktykAccess 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
 
Word 2007 PL. Seria praktyk
Word 2007 PL. Seria praktykWord 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacja
 
AutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PLAutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PL
 
Bazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcieBazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcie
 
Inventor. Pierwsze kroki
Inventor. Pierwsze krokiInventor. Pierwsze kroki
Inventor. Pierwsze kroki
 

C++Builder 6 i bazy danych

  • 1. IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TRE CI C++Builder 6 i bazy danych KATALOG KSI¥¯EK Autor: Marian Wybrañczyk KATALOG ONLINE ISBN: 83-7361-292-0 Format: B5, stron: 632 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK Kompendium wiedzy dla programistów aplikacji bazodanowych w C++ DODAJ DO KOSZYKA • Poznaj C++Builder 6 i dostêpne w nim komponenty • Stwórz model aplikacji w jêzyku UML • Wykorzystaj ró¿ne mechanizmy po³¹czenia z baz¹ danych CENNIK I INFORMACJE C++Builder 6, mimo pojawienia siê na rynku nowszej wersji tego rodowiska, nadal cieszy siê du¿¹ popularno ci¹ w ród programistów. Wizualne rodowisko ZAMÓW INFORMACJE programowania i gotowe komponenty znacznie przyspieszaj¹ proces tworzenia O NOWO CIACH aplikacji. Mo¿liwo ci C++Buildera 6 pozwalaj¹ na stworzenie aplikacji korzystaj¹cych z ró¿nych systemów zarz¹dzania bazami danych, jednak proces przygotowania ZAMÓW CENNIK po³¹czenia z baz¹ i manipulowania danym w niej zgromadzonymi jest inny dla ka¿dego z nich. CZYTELNIA Ksi¹¿ka „C++Builder 6 i bazy danych” to podrêcznik dla tych programistów i u¿ytkowników C++Buildera 6, którzy w tworzonych przez siebie aplikacjach FRAGMENTY KSI¥¯EK ONLINE wykorzystuj¹ ró¿ne systemy baz danych. Opisuje rodowisko C++ Builder 6, elementy jêzyka C++ oraz metody modelowania aplikacji i tabel baz danych za pomoc¹ jêzyka UML, a przede wszystkim — sposoby powi¹zania tworzonych aplikacji z wiêkszo ci¹ dostêpnych na rynku systemów zarz¹dzania bazami danych. Przedstawia technologie ADO i ODBC, jêzyk SQL i mo¿liwo ci zastosowania jêzyka XML w aplikacjach bazodanowych. • Komponenty rodowiska C++Builder 6 • Zaawansowane techniki programowania w C++ • Korzystanie z bibliotek DLL i VCL • Zastosowanie jêzyka UML do tworzenia modelu aplikacji • Praca ze rodowiskiem CVS • Elementy jêzyka SQL Wydawnictwo Helion • Technologia ADO ul. Chopina 6 • Po³¹czenie aplikacji z baz¹ MySQL, dbExpress 44-100 Gliwice • Interfejsy ODBC tel. (32)230-98-63 • Systemy Interbase i BDE e-mail: helion@helion.pl • Jêzyk XML w bazach danych Je li chcesz byæ przygotowany do napisania aplikacji korzystaj¹cej z dowolnej bazy danych, przeczytaj t¹ ksi¹¿kê
  • 2. Spis treści Wstęp ............................................................................................. 11 Część I Poznajemy środowisko pracy ..........................................13 Rozdział 1. Ekspresem po środowisku BCB6 ...................................................... 15 Wstęp .............................................................................................................................. 15 Skąd wziąć środowisko C++Builder 6?........................................................................... 15 Tworzymy pierwszy projekt............................................................................................ 16 Kompilujemy program .................................................................................................... 19 Uruchamiamy program.................................................................................................... 20 Budowanie aplikacji ........................................................................................................ 21 Sprawdzamy i wyłapujemy błędy.................................................................................... 24 Ustawiamy środowisko pracy.......................................................................................... 25 Inne przydatne opcje ....................................................................................................... 30 Ciekawe skróty klawiszowe w edytorze kodu ................................................................. 30 Podsumowanie ................................................................................................................ 31 Rozdział 2. Wybrane komponenty środowiska..................................................... 33 Wstęp .............................................................................................................................. 33 Uwaga na temat stosowanego nazewnictwa .................................................................... 33 Ogólne wskazówki dotyczące korzystania z komponentów ............................................ 34 Zakładka Standard........................................................................................................... 36 MainMenu................................................................................................................. 37 Label ......................................................................................................................... 37 Edit............................................................................................................................ 38 Memo ........................................................................................................................ 40 Button........................................................................................................................ 41 CheckBox i GroupBox.............................................................................................. 43 RadioGroup i RadioButton ....................................................................................... 44 ListBox...................................................................................................................... 45 ComboBox ................................................................................................................ 47 ActionList ................................................................................................................. 48 Zakładka Additional ........................................................................................................ 50 BitBtn........................................................................................................................ 50 SpeedButton.............................................................................................................. 51 MaskEdit ................................................................................................................... 51 StringGrid ................................................................................................................. 52
  • 3. 4 C++Builder 6 i bazy danych DrawGrid .................................................................................................................. 73 Image......................................................................................................................... 74 Shape......................................................................................................................... 75 Bevel ......................................................................................................................... 75 ScrollBox .................................................................................................................. 75 CheckListBox............................................................................................................ 77 Splitter....................................................................................................................... 78 StaticText .................................................................................................................. 79 ControlBar................................................................................................................. 79 ApplicationEvents..................................................................................................... 79 ValueListEditor......................................................................................................... 79 LabeledEdit ............................................................................................................... 80 ColorBox................................................................................................................... 80 Chart.......................................................................................................................... 80 Zakładka Win32 .............................................................................................................. 82 TabControl i PageControl ......................................................................................... 82 ImageList .................................................................................................................. 82 RichEdit .................................................................................................................... 83 TrackBar i ProgressBar ............................................................................................. 85 UpDown.................................................................................................................... 85 HotKey...................................................................................................................... 85 Animate..................................................................................................................... 86 DateTimePicker i MonthCalendar............................................................................. 87 TreeView................................................................................................................... 87 ListView.................................................................................................................... 88 StatusBar ................................................................................................................... 89 ToolBar ..................................................................................................................... 91 Zakładka System ............................................................................................................. 91 Timer......................................................................................................................... 91 PaintBox.................................................................................................................... 92 Zakładka Dialogs............................................................................................................. 93 Zakładka Win 3.1 ............................................................................................................ 94 Zakładka Samples............................................................................................................ 95 TrayIcon.................................................................................................................... 95 Podsumowanie ................................................................................................................ 96 Rozdział 3. Elementy grafiki .............................................................................. 97 Wstęp .............................................................................................................................. 97 Podstawowe elementy grafiki.......................................................................................... 97 Podstawowe operacje na obrazach ................................................................................ 124 Save Screen ................................................................................................................... 129 Podstawy operacji graficznych w systemie Windows ................................................... 132 Drukowanie grafiki........................................................................................................ 142 Podsumowanie .............................................................................................................. 143 Rozdział 4. Niewizualne środki programowania ................................................. 145 Wstęp ............................................................................................................................ 145 Pliki ini.......................................................................................................................... 145 Lista stringów — klasa TStringList............................................................................... 152 Lista obiektów — klasaTList ........................................................................................ 157 Lista obiektów — klasa TObjectList ............................................................................. 159 Schowek Windows ........................................................................................................ 163 Rejestr Windows ........................................................................................................... 172 Podsumowanie .............................................................................................................. 176
  • 4. Spis treści 5 Część II Przegląd zaawansowanych elementów języka C++.........177 Rozdział 5. Wskaźniki...................................................................................... 179 Wstęp ............................................................................................................................ 179 O czym mówimy? ......................................................................................................... 179 Operatory new i delete .................................................................................................. 187 Referencje ..................................................................................................................... 190 New, delete i referencja................................................................................................. 193 Tablice jako wskaźniki .................................................................................................. 194 Tablice wskaźników ...................................................................................................... 198 Uniwersalny wskaźnik void*......................................................................................... 201 Tablica tworzona dynamicznie...................................................................................... 203 Arytmetyka wskaźników ............................................................................................... 204 Wskaźnik na wskaźnik .................................................................................................. 206 Dynamiczne listy........................................................................................................... 207 Lista jednokierunkowa ............................................................................................ 207 Lista dwukierunkowa .............................................................................................. 211 Stos................................................................................................................................ 213 Podsumowanie .............................................................................................................. 217 Rozdział 6. Programowanie obiektowe ............................................................. 219 Wstęp ............................................................................................................................ 219 Klasy ............................................................................................................................. 219 Instancja klasy ............................................................................................................... 220 Konstruktor ................................................................................................................... 223 Destruktor...................................................................................................................... 226 Składowa statyczna ....................................................................................................... 227 this................................................................................................................................. 230 Dziedziczenie ................................................................................................................ 231 Specyfikatory dostępu a dziedziczenie .......................................................................... 236 Dziedziczenie wielokrotne ............................................................................................ 238 Przecią anie funkcji ...................................................................................................... 239 Przesłanianie ................................................................................................................. 240 Polimorfizm i metody wirtualne.................................................................................... 241 Konstruktor kopiowania ................................................................................................ 247 Przecią anie operatorów................................................................................................ 251 Funkcje zaprzyjaźnione................................................................................................. 256 Przecią anie operatorów dwuargumentowych .............................................................. 259 Klasa abstrakcyjna......................................................................................................... 266 Podsumowanie .............................................................................................................. 269 Rozdział 7. Wielowątkowość............................................................................ 271 Wstęp ............................................................................................................................ 271 Klasa TThread ............................................................................................................... 274 Funkcje oczekujące ....................................................................................................... 280 Semafor ......................................................................................................................... 282 Sekcje krytyczne ........................................................................................................... 286 Mutex ............................................................................................................................ 287 Priorytet wątku .............................................................................................................. 289 Podsumowanie .............................................................................................................. 290 Rozdział 8. Biblioteki DLL ................................................................................ 291 Wstęp ............................................................................................................................ 291 Budujemy pierwszą bibliotekę DLL.............................................................................. 292 Wykorzystanie biblioteki DLL — ładowanie statyczne ................................................ 295
  • 5. 6 C++Builder 6 i bazy danych Wykorzystanie kodu biblioteki DLL — ładowanie dynamiczne................................... 296 Formularz w bibliotece DLL ......................................................................................... 300 Eksportowanie klas........................................................................................................ 302 Podsumowanie .............................................................................................................. 306 Rozdział 9. Wykorzystujemy VCL...................................................................... 307 Wstęp ............................................................................................................................ 307 Rozpoczynamy pracę z VCL......................................................................................... 307 Zarządzanie formularzami............................................................................................. 310 Okno modalne ............................................................................................................... 311 Okno niemodalne .......................................................................................................... 312 Rozszerzanie mo liwości komponentów VCL.............................................................. 315 Instalacja komponentu................................................................................................... 317 Obsługa wyjątków......................................................................................................... 319 Podsumowanie .............................................................................................................. 327 Część III Elementy projektowania systemów baz danych..............329 Rozdział 10. Planujemy bazę danych .................................................................. 331 Wstęp ............................................................................................................................ 331 Analiza problemu .......................................................................................................... 331 Model bazy danych ....................................................................................................... 332 Uwagi na temat implementacji ...................................................................................... 337 Podsumowanie .............................................................................................................. 338 Rozdział 11. Elementy UML ............................................................................... 339 Wstęp ............................................................................................................................ 339 Podstawy UML ............................................................................................................. 341 Scenariusz ............................................................................................................... 341 Przypadki u ycia (Use Case Diagram).................................................................... 341 Diagramy klas (Class Diagram) .............................................................................. 343 Diagramy obiektów................................................................................................. 346 Diagramy aktywności.............................................................................................. 346 Diagramy sekwencji (przebiegu)............................................................................. 346 Diagramy kooperacji (współpracy) ......................................................................... 348 Diagramy stanów .................................................................................................... 348 Diagramy wdro enia ............................................................................................... 348 Podsumowanie .............................................................................................................. 350 Rozdział 12. Praca w grupie. Program CVS......................................................... 351 Wstęp ............................................................................................................................ 351 CVS............................................................................................................................... 351 Pobieramy plik instalacyjny .......................................................................................... 353 Instalacja ....................................................................................................................... 353 Tworzymy repozytorium ............................................................................................... 354 Pierwszy śledzony projekt............................................................................................. 355 Po zmianach .................................................................................................................. 356 Usuwamy plik z projektu .............................................................................................. 359 Przywracamy poprzednią wersję ................................................................................... 359 Podsumowanie .............................................................................................................. 359 Rozdział 13. Elementy SQL ................................................................................ 361 Wstęp ............................................................................................................................ 361 SQL — co to jest? ......................................................................................................... 361 Baza danych .................................................................................................................. 362
  • 6. Spis treści 7 Tabele............................................................................................................................ 362 Tworzenie tabel ............................................................................................................. 364 Select............................................................................................................................. 365 Klucz główny (primary key).......................................................................................... 367 Klucz obcy (foreign key) i integralność referencyjna.................................................... 368 Wartość NULL.............................................................................................................. 370 Domena ......................................................................................................................... 372 Indeksy .......................................................................................................................... 373 Widoki (perspektywy) ................................................................................................... 375 Wyzwalacze i generatory .............................................................................................. 377 Procedury ...................................................................................................................... 378 Transakcje ..................................................................................................................... 379 Podsumowanie .............................................................................................................. 379 Rozdział 14. Narzędzia wspomagające tworzenie i modyfikację bazy danych........ 381 Wstęp ............................................................................................................................ 381 Database Desktop.......................................................................................................... 381 Datapump ...................................................................................................................... 384 Podsumowanie .............................................................................................................. 386 Rozdział 15. Pliki tekstowe ............................................................................... 387 Wstęp ............................................................................................................................ 387 Przetwarzamy pliki tekstowe......................................................................................... 387 Podsumowanie .............................................................................................................. 392 Rozdział 16. Strumienie plikowe ........................................................................ 393 Wstęp ............................................................................................................................ 393 Klasa TFileStream......................................................................................................... 393 Zapis struktury danych do strumienia plikowego .......................................................... 395 Odczyt struktury danych ze strumienia plikowego........................................................ 399 Zapis du ych porcji danych w strumieniu plikowym .................................................... 400 Podsumowanie .............................................................................................................. 402 Część IV Przegląd technologii baz danych ...................................403 Rozdział 17. MS SQL Server 2000 i ADO............................................................ 405 Wstęp ............................................................................................................................ 405 MS SQL Server 2000 .................................................................................................... 406 Tworzymy bazę danych................................................................................................. 406 Komponenty z zakładki ADO ....................................................................................... 409 ADOConnection...................................................................................................... 410 ADOCommand ....................................................................................................... 413 ADOTable, ADOQuery, ADOStoredProc .............................................................. 415 ADODataSet ........................................................................................................... 415 ADO i transakcje ........................................................................................................... 418 Motor JET ..................................................................................................................... 419 Instalacja MSDE 2000 w środowisku Windows XP ..................................................... 421 Podsumowanie .............................................................................................................. 424 Rozdział 18. Interfejs bazodanowy ..................................................................... 425 Wstęp ............................................................................................................................ 425 Abstrakcja rekordu tabeli .............................................................................................. 427 Abstrakcja tabeli bazy danych....................................................................................... 432 Wykorzystywanie interfejsu bazodanowego ................................................................. 442 Podsumowanie .............................................................................................................. 451
  • 7. 8 C++Builder 6 i bazy danych Rozdział 19. MySQL i dbExpress ........................................................................ 453 Wstęp ............................................................................................................................ 453 Elementy bazy danych MySQL..................................................................................... 454 MySQL — uruchomienie serwera........................................................................... 454 U ytkownicy i uprawnienia .................................................................................... 455 Zmiana hasła administratora ................................................................................... 455 Inni u ytkownicy..................................................................................................... 456 Definiowanie nowego u ytkownika ........................................................................ 456 Minimum uprawnień............................................................................................... 457 Tworzenie bazy danych........................................................................................... 458 Usuwanie bazy danych............................................................................................ 459 Tworzenie tabel....................................................................................................... 459 Rozró nianie wielkości liter w systemie Linux....................................................... 461 dbExpress ...................................................................................................................... 461 SQLConnection....................................................................................................... 463 SQLDataSet ............................................................................................................ 465 Transakcje ............................................................................................................... 474 ClientDataSet .......................................................................................................... 477 Komunikacja dwukierunkowa................................................................................. 483 Informacje na temat bazy danych............................................................................ 486 SQLMonitor............................................................................................................ 487 Biblioteka komponentów ZEOS.................................................................................... 488 Podsumowanie .............................................................................................................. 490 Rozdział 20. PostgreSQL, XBase i ODBC ............................................................ 491 Wstęp ............................................................................................................................ 491 PostgreSQL 8.0. Instalacja ............................................................................................ 491 Pierwsze uruchomienie.................................................................................................. 493 Tworzymy grupy u ytkowników................................................................................... 495 Tworzymy u ytkowników............................................................................................. 495 Tworzymy bazę danych................................................................................................. 497 Tworzymy tabele........................................................................................................... 497 ODBC............................................................................................................................ 499 Łączymy się z PostgreSQL, u ywając ODBC............................................................... 503 ODBC i XBase .............................................................................................................. 505 Podsumowanie .............................................................................................................. 507 Rozdział 21. InterBase i IBX .............................................................................. 509 Wstęp ............................................................................................................................ 509 Rozpoczynamy pracę z bazą danych InterBase ............................................................. 510 IBConcole ..................................................................................................................... 511 Interactive SQL ............................................................................................................. 518 Backup .......................................................................................................................... 523 Restore .......................................................................................................................... 525 U ytkownicy i uprawnienia........................................................................................... 527 IBX................................................................................................................................ 530 Połączenie z InterBase................................................................................................... 531 IBDatabase .............................................................................................................. 531 IBTransaction.......................................................................................................... 533 IBQuery................................................................................................................... 535 Wykonywanie polecenia SQL................................................................................. 547 Polecenia SQL z parametrami................................................................................. 547 OnGetText, OnSetText, OnValidate ....................................................................... 550 IBTable ................................................................................................................... 552
  • 8. Spis treści 9 IBStoredProc........................................................................................................... 554 Monitorowanie bazy danych InterBase ......................................................................... 556 Odinstalowanie serwera InterBase ................................................................................ 556 Podsumowanie .............................................................................................................. 556 Rozdział 22. BDE .............................................................................................. 557 Wstęp ............................................................................................................................ 557 Zakładka BDE i jej komponenty ................................................................................... 557 Database.................................................................................................................. 560 Query....................................................................................................................... 561 Table ....................................................................................................................... 564 UpdateSQL ............................................................................................................. 579 StoredProc............................................................................................................... 584 Podsumowanie .............................................................................................................. 585 Rozdział 23. XML i DOM.................................................................................... 587 Wstęp ............................................................................................................................ 587 Budowa pliku XML ...................................................................................................... 588 1. Wielkość liter ...................................................................................................... 589 2. Ignorowane znaki ................................................................................................ 589 3. Mo liwość stosowania komentarzy..................................................................... 589 4. Parowanie znaczników........................................................................................ 589 5. Obecność elementu głównego............................................................................. 590 6. Znaki zastrze one................................................................................................ 590 7. Stosowanie sekcji CDATA ................................................................................. 590 8. Stosowanie atrybutów ......................................................................................... 591 9. Nagłówek dokumentu XML................................................................................ 591 10. Deklaracja typu dokumentu............................................................................... 591 Analiza dokumentów XML........................................................................................... 592 BCB6 a XML ................................................................................................................ 592 XML Data Binding Wizard ........................................................................................... 598 Podsumowanie .............................................................................................................. 605 Dodatki ......................................................................................607 Skorowidz...................................................................................... 609
  • 9. Rozdział 19. MySQL i dbExpress Wstęp W tym rozdziale postaram się omówić podstawy związane z serwerem baz danych My- SQL. Na pewno większość Czytelników wie, e MySQL jest szeroko wykorzystywany w zastosowaniach związanych z internetem, szczególnie w tych, w których wspomaga się budowanie dynamicznych stron WWW (we współpracy z PHP). Przede wszystkim jest to darmowy system obsługi bazy danych (dopóki wykorzystujemy go do celów innych ni zarobkowe). Dla nas najwa niejszy jest fakt, e jest to produkt, który jest dostępny dla platform Linux oraz Windows (jak równie dla innych systemów). Dla naszych celów wystarczy w zupełności wersja oferowana w ramach licencji GNU. Główna strona i źródło wiadomości o MySQL to strona WWW o adresie http://www. mysql.com, na której mo na przeczytać między innymi, e jest to najpopularniejsza baza danych oferowana w ramach Open Source (ponad 5 milionów instalacji). Pole- ciłbym równie polskie strony WWW na temat MySQL. Warto jest poszukać pakietu o nazwie Krasnal Serv (na przykład strona WWW o adresie http://programy.onet.pl/ 40,56,9737,programy.html), który zawiera: Apache, PHP, MySQL, ActivePerl, phpMy- Admin, Zend Optimizer, CesarFTP, WebAlizer, Free SMTP Server, SQLiteManager. Mnie osobiście bardzo przypadł do gustu produkt o nazwie WAMP (http://www.wamp- server.com/download.php). Dla celów zarządzania bazą danych MySQL mo na ścią- gnąć oprócz wymienionych narzędzi doskonały program o nazwie EMS MySQL Manager (http://sqlmanager.net/products/mysql/manager/). Ja zdecydowałem się na ściągnięcie i zainstalowanie serwera MySQL z pliku o nazwie mysql-3.23.49-win.zip. Starsze wersje tej bazy danych (w tym równie wersję 3.23) mo na pobrać ze strony http://downloads.mysql.com/archives.php. W plikach tekstowych BCB6 mo na znaleźć wzmiankę o przeznaczeniu sterownika dbExpress dla serii MySQL oznaczonej numeracją 3.23.x. Na stronach frimy Borland udało mi się znaleźć ste- rownik do wersji MySQL 4 http://codecentral.borland.com/codecentral/ccweb.exe/lis- ting?id=17739.
  • 10. 454 Część IV ♦ Przegląd technologii baz danych Elementy bazy danych MySQL Proponuję, aby Czytelnicy zdecydowali się na początek na instalację wersji 3.23.x. Po rozpakowaniu pliku mysql-3.23.49-win.zip instalację mo na uruchomić, wskazując plik setup.exe. Domyślna instalacja dokona się do katalogu c:mysql. Instalacja ta zajmuje na dysku około 28 MB. W dalszym ciągu będę zakładał, e u ytkownik zain- stalował serwer MySQL w wersji 3.23 w typowy sposób. MySQL — uruchomienie serwera W standardowej instalacji znajduje się program o nazwie winmsqladmin.exe, który nale y uruchomić na wstępie. Po uruchomieniu program ma swój odpowiednik w dolnym prawym rogu ekranu przypominający wyglądem sygnalizator świetlny, który mo emy zwykle spotkać na drogach. Wygląd ikony podpowiada nam o stanie działania serwera MySQL. Konieczne jest, aby w ikonie było zapalone zielone światło. Je eli ikona ma zapalone światło czerwone, wówczas trzeba sprawdzić, dlaczego serwer nie działa. Pro- gram instalacyjny MySQL działa dość sprawnie i raczej po wykonaniu standardowej instalacji na dysku lokalnym nie ma potrzeby korygowania czegokolwiek. W razie, gdyby po zainstalowaniu programu serwer nie działał, proponuję zajrzeć do pliku manual.hlp, gdzie są opisane szczegóły instalacyjne związane z instalacją dla konkretnych wersji systemów operacyjnych. Po zainstalowaniu serwera MySQL oraz uruchomieniu pro- gramu winmsqladmin.exe przystąpimy do wykonania pierwszych czynności na serwerze bazy danych MySQL. Przy pierwszym uruchomieniu na ekranie pojawia się okno jak na rysunku 19.1. W oknie tym mo emy zdefiniować hasło dla domyślnego u ytkow- nika — administratora bazy danych, jakim jest u ytkownik root. Dla naszych potrzeb skorzystamy z uproszczonej wersji programu pracującego w trybie znakowym o nazwie mysql.exe (poło enie pliku — c:mysqlbin). Aby zalogować się do serwera MySQL, u yjemy polecenia o następującej składni: O[USN J PCYCAJQUVC W PCYCAW [VMQYPKMC R Rysunek 19.1. Okno definiowania u ytkownika i hasła administratora Podanie polecenia O[USN uruchomi program, który przedstawi się jako MySQL Monitor. U ycie parametru J pozwala na podanie komputera (hosta), z którym chcemy się połączyć
  • 11. Rozdział 19. ♦ MySQL i dbExpress 455 (na którym działa nasz serwer MySQL), natomiast parametr podany po W słu y do poda- nia nazwy u ytkownika. Je eli pominiemy ten parametr, zostanie domyślnie wybrany u ytkownik, który został podany przy logowaniu się do systemu operacyjnego. Na po- czątku — zaraz po zainstalowaniu — serwer MySQL zna tylko nazwę jednego u yt- kownika o nazwie root. Parametr R informuje o tym, e chcemy na etapie logowania się u yć równie hasła. Dla instalacji lokalnej, tak jak w naszym przypadku, wy- starczy podanie polecenia: O[USN W TQQV lub po prostu: O[USN (polecenie nale y podać po przejściu do katalogu c:mysqlbin lub po zapewnieniu widoczności tego katalogu w zmiennej systemowej PATH). Kiedy ju u ytkownik root będzie miał unikalne hasło, powinniśmy uruchamiać monitor, podając: O[USN W TQQV R co spowoduje, e zostaniemy zapytani o hasło dla u ytkownika root. Zakończenie pracy z programem MySQL Monitor wykonujemy, wydając polecenie: SWKV lub: GZKV Użytkownicy i uprawnienia Dla celów bezpieczeństwa oraz dla wygody własnej oraz u ytkowników bazy danych nale y utworzyć indywidualne konta u ytkowników bazy danych MySQL. Posłu ymy się w tym celu poleceniem )TCPV. Polecenie )TCPV mo e słu yć do nadawania uprawnień globalnych, dotyczących bazy danych albo dotyczących tabel lub kolumn. To samo dotyczy polecenia 4GXQMG słu ącego do odbierania uprawnień. Problemowi nadawania stosownych uprawnień mo na by poświęcić osobny rozdział, dlatego w tym miejscu zasugeruję dokładne zapoznanie się z mo liwościami tych poleceń. Dla naszych celów podam jedynie podstawowe informacje na ten temat. Zmiana hasła administratora Aby zabezpieczyć serwer MySQL przed niepowołanym dostępem, powinniśmy przede wszystkim nadać hasło u ytkownikowi root. Operację tę mo na wykonać na kilka sposobów. Pierwszy sposób. 1. Zalogować się do MySQL, podając: EO[USNDKPO[USN W TQQV
  • 12. 456 Część IV ♦ Przegląd technologii baz danych Polecenie to spowoduje uruchomienie programu MySQL Monitor z uprawnieniami administratora. 2. Wpisać i zatwierdzić polecenie: WUG O[USN Polecenie to spowoduje, e baza O[USN, w której są przechowywane informacje o u ytkownikach, stanie się bazą aktywną. Potwierdzeniem tego faktu będzie pojawienie się na ekranie napisu: CVCDCUG EJCPIGF 3. Wpisać i wykonać polecenie: 72#6' WUGT UGV 2CUUYQTF2#55914 PGYARCUUYQTF YJGTG WUGT TQQV 4. Utrwalić dokonaną zmianę, podając i zatwierdzając polecenie: (.75* 24+8+.')'5 Drugi sposób: O[USN W TQQV WUG O[USN 5'6 2#55914 (14 TQQVNQECNJQUV2#59914 PGYARCUUYQTF Inni użytkownicy U ytkownicy, którzy nie są u ytkownikami anonimowymi (ananymous) i jednocześnie nie posiadają uprawnień do zmiany haseł innych u ytkowników, mogą dokonać zmiany swojego hasła, podając w programie MySQL Monitor po zalogowaniu się na własne konto polecenie: 5'6 2#55914 2#59914 PGYARCUUYQTF Definiowanie nowego użytkownika Oto przykład demonstrujący utworzenie nowego u ytkownika. Najpierw logujemy się lokalnie jako root: O[USN W TQQV lub je eli root ma ju hasło: O[USN W TQQV R Po podaniu hasła u ytkownika root napiszemy następującą instrukcję: ITCPV CNN QP
  • 13. VQ RTCEQYPKMNQECNJQUV i sprawdzamy instrukcją: UJQY ITCPVU HQT RTCEQYPKMNQECNJQUV
  • 14. Rozdział 19. ♦ MySQL i dbExpress 457 W efekcie działania powy szych poleceń powstanie u ytkownik o nazwie RTCEQYPKM — bez hasła. U ytkownik ten będzie posiadał wszystkie prawa CNN do wszystkich obiektów bazy danych
  • 15. . Wiersz ostatni umo liwia wyświetlenie posiadanych przez nowego u ytkownika uprawnień. Odbierzemy teraz wszystkie uprawnienia nowemu u ytkow- nikowi: TGXQMG #.. =24+8+.')'5? QP
  • 16. HTQO RTCEQYPKMNQECNJQUV Warto sprawdzić, czy rzeczywiście u ytkownik utracił wszelkie uprawnienia. Po zalo- gowaniu się jako u ytkownik RTCEQYPKM nie powinien on mieć mo liwości zmiany domyślnej bazy na O[USN — po wydaniu prze niego polecenia: WUG O[USN poka e się komunikat od serwera: '4414 #EEGUU FGPKGF HQT WUGT DQQMUNQECNJQUV VQ FCVCDCUGU O[USN Minimum uprawnień Utworzony u ytkownik RTCEQYPKM ma posiadać wystarczające uprawnienia umo li- wiające pracę pracownikowi biblioteki. Aby to konto było w pełni efektywne, u yt- kownik tego konta powinien mieć mo liwość korzystania z bazy danych, natomiast na pewno nie powinien mieć mo liwości tworzenia czy usuwania obiektów. Nie powinien równie mieć mo liwości nadawania uprawnień innym u ytkownikom. Dlatego skory- gujemy uprawnienia u ytkownika RTCEQYPKM w sposób, który zapewni, e będzie on po- siadał mo liwie najni sze z mo liwych, ale jednocześnie konieczne do pracy uprawnienia. ITCPV UGNGEV KPUGTV WRFCVG FGNGVG QP DKDNKQVGMC
  • 17. VQ RTCEQYPKMNQECNJQUV Zanim zaczniemy pracować jako nowy u ytkownik, utworzymy jeszcze potrzebne nam do pracy obiekty w postaci tabel. W tym celu powinniśmy jeszcze raz zalogować się jako administrator serwera: O[USN W TQQV R Po podaniu hasła u ytkownika root mo emy przejść do dalszego etapu. Na początek mo emy podać polecenie JGNR, aby uzyskać informację o tym, z jakiego rodzaju poleceń mo emy skorzystać. Program MySQL Monitor jest dosyć prostym programem. Pozwala jednak na wykonanie wszystkich czynności, które będą niezbędne do utworzenia przy- kładowej bazy danych. Program pamięta historię wydanych poleceń, które są dostępne poprzez u ycie klawiszy: strzałka w górę i strzałka w dół. Podstawowym poleceniem, którego mo emy u yć, jest polecenie 5JQY. Polecenie 5JQY odnosi się do wielu konstrukcji — takich jak baza danych, tabele, kolumny. Oto podstawowe (uproszczone) warianty tego polecenia: 5*19 #6#$#5'5, 5*19 6#$.'5,
  • 18. 458 Część IV ♦ Przegląd technologii baz danych 5*19 %1.7/05 (41/ PCYCAVCDGNK, 5*19 +0': (41/ PCYCAVCDGNK, 5*19 56#675, 5*19 8#4+#$.'5, 5*19 =(7..? 241%'55.+56, 5*19 6#$.' 56#675, 5*19 )4#065 (14 W [VMQYPKM. Polecenia te mo na uzupełniać o podanie nazwy bazy danych lub tabeli. Na przykład polecenia 5*19 6#$.'5 mo na u yć w następujący sposób: 5*19 6#$.' (41/ DCCAFC P[EJ =.+-' PCYCAVCDGNK?. Wydajmy na początek polecenie: UJQY FCVCDCUGU Polecenie musi zostać zakończone średnikiem. Oto wygląd okna programu MySQL Monitor po wykonaniu się podanego polecenia (rysunek 19.2). Rysunek 19.2. MySQL Monitor — wygląd ekranu po wydaniu polecenia Show Databases Jak widać na rysunku 19.2, serwer przechowuje ju informacje o bazach danych o nazwie mysql oraz test. Tworzenie bazy danych Utworzenie nowej bazy danych w MySQL jest proste. Wykonajmy tę czynność, wyda- jąc polecenie: ETGCVG FCVCDCUG $KDNKQVGMC Po zatwierdzeniu polecenia klawiszem Enter na ekranie zobaczymy efekt naszego dzia- łania w postaci informacji tego typu: 3WGT[ 1- TQY CHHGEVGF UGE
  • 19. Rozdział 19. ♦ MySQL i dbExpress 459 świadczący o tym, e operacja przebiegła prawidłowo. Dodatkowo jest wyświetlony czas, jaki został przeznaczony na wykonanie tego polecenia. Mo emy zresztą śmiało jeszcze raz wydać polecenie UJQY FCVCDCUGU, aby przekonać się wizualnie o istnieniu nowo utworzonej bazy danych. Aby pracować z wybraną bazą danych, u ywamy pole- cenia 7UG. W naszym przypadku polecenie: WUG $KDNKQVGMC spowoduje, e baza danych Biblioteka stanie się domyślnym obszarem pracy. Baza danych Biblioteka powstanie fizycznie (dla domyślnych parametrów) w podkatalogu Data, gdzie jest zainstalowany serwer MySQL. U mnie jest to ście ka c:mysqldatabi- blioteka.