Phi - Delphi 7 - Database
Phi - Delphi 7 - Database
Phi - Delphi 7 - Database
Borland®
™
Delphi 7
pour Windows™
COPYRIGHT © 2001–2002 Borland Software Corporation. Tous droits réservés. Tous les produits Borland sont
des marques commerciales ou des marques déposées de Borland Software Corporation aux Etats-Unis ou dans
les autres pays. Toutes les autres marques sont la propriété de leurs fabricants respectifs.
D7-DB-0802
Copyright © 2002, Borland Software Corporation. All rights reserved. BORLAND CONFIDENTIAL
August 8, 2002 10:04 pm (C:\d7\d7-W\d7books\book_CD\Database tutorial\databaseTOC.fm)
iii
Copyright © 2002, Borland Software Corporation. All rights reserved. BORLAND CONFIDENTIAL
August 8, 2002 10:04 pm (C:\d7\d7-W\d7books\book_CD\Database tutorial\databaseTOC.fm)
iv
Création d’une application
Chapitre0
2 Tutoriel
Installation des composants d’accès aux données
Astuce Pour afficher les libellés des composants non visuels sur une fiche, choisissez
Outils|Options d’environnement|Concepteur et cliquez sur Afficher les libellés
des composants.
2 Dans l’inspecteur d’objets, définissez sa propriété ConnectionName par
IBConnection (ce terme apparaît dans la liste déroulante).
3 Initialisez la propriété LoginPrompt à False. (Définir cette propriété par False
évite une demande de connexion à chacun de vos accès à la base.)
4 Double-cliquez sur le composant TSQLConnection pour afficher l’éditeur de
connexion.
4 Tutoriel
Installation des composants d’accès aux données
7 Lorsque vous avez fini de vérifier et de modifier les champs, cliquez sur OK
pour fermer l’éditeur de connexion et enregistrer vos modifications.
Ces modifications sont écrites dans le fichier dbxconnections.ini et la
connexion sélectionnée est attribuée comme valeur à la propriété
ConnectionName du composant SQLConnection.
Astuce Si vous avez besoin d’une assistance particulière lorsque vous utilisez l’éditeur
de connexion, cliquez sur le bouton Aide.
8 Choisissez Fichier|Tout enregistrer pour enregistrer votre projet.
6 Tutoriel
Conception de l’interface utilisateur
Le contrôle DBGrid affiche les données en mode conception, pendant que vous
travaillez dans l’EDI. Cela vous permet de vérifier que vous êtes bien connecté
à la base de données. Vous ne pouvez pas, cependant, modifier les données
pendant les phases de conception ; pour modifier les données de la table, vous
devez exécuter l’application.
Lorsque vous exécutez votre projet, le programme s’ouvre dans une fenêtre
semblable à celle que vous avez dessinée sur la fiche. Vous pouvez tester
la barre de navigation sur la base de données employee. Par exemple, vous
pouvez aller d’enregistrement en enregistrement en utilisant les commandes
fléchées, ajouter des enregistrements en utilisant la commande +, supprimer
des enregistrements en utilisant la commande -.
Astuce Si une erreur se produit lorsque vous testez une version initiale de votre
application, choisissez Exécuter|Réinitialiser le programme pour revenir à la
vue conception.
8 Tutoriel
Conception de l’interface utilisateur
Cliquez avec le bouton droit de la souris dans Sélectionnez les actions que vous voulez
l’éditeur et choisissez Nouvelle action standard et cliquez sur OK. Appuyez sur Ctrl pour
pour afficher la boîte liste Actions standard. sélectionner plusieurs actions.
10 Tutoriel
Conception de l’interface utilisateur
12 Tutoriel
Affichage d’un titre et d’une image
9 Donnez à la zone image par défaut la taille de l’image. Placez l’image près du
libellé.
14 Tutoriel
Ecriture d’un gestionnaire d’événement
end;
Exactement à la position du curseur (entre begin et end), tapez :
if ClientDataSet1.State in [dsEdit, dsInsert] then ClientDataSet1.Post;
ClientDataSet1.ApplyUpdates(-1);
Ce gestionnaire d’événement teste d’abord l’état dans lequel se trouve la base
de données. Lorsque vous quittez un enregistrement modifié, celui-ci est
automatiquement validé. Mais, si vous ne quittez pas l’enregistrement modifié,
la base reste en mode édition ou en mode insertion. L’instruction if valide toute
donnée éventuellement modifiée mais non transmise à l’ensemble de données
client. L’instruction suivante applique à la base les mises à jour contenues dans
l’ensemble de données client.
Remarque Les modifications apportées aux données ne sont pas automatiquement validées
dans la base lorsque vous utilisez dbExpress. Il vous faut appeler la méthode
ApplyUpdates pour écrire tous les enregistrements modifiés, insérés ou supprimés,
depuis l’ensemble de données client vers la base de données.
end;
Exactement à la position du curseur (entre begin et end), tapez :
Close;
Ce gestionnaire d’événement fermera l’application lorsque la commande
Fichier|Quitter sera utilisée.
4 Fermez l’éditeur de liste d’actions.
5 Choisissez Fichier|Tout enregistrer pour enregistrer le projet.
end;
Exactement à la position du curseur (entre begin et end), tapez :
Action := caFree;
if ClientDataSet1.State in [dsEdit, dsInsert] then
ClientDataSet1.Post;
if ClientDataSet1.ChangeCount> 0 then
begin
Option := Application.MessageBox(
’Il y a des mises à jour en attente. Voulez-vous les écrire dans la base ?’,
’Mises à jour en attente’,[smbYes, smbNo, smbCancel], smsWarning, smbYes);
case Option of
smbYes: ClientDataSet1.ApplyUpdates(-1);
smbCancel: Action := caNone;
end;
end;
Ce gestionnaire d’événement teste l’état de la base de données. Si des mises
à jour sont en attente, elles sont validées dans l’ensemble de données client où
le compteur de modifications est incrémenté. Puis, avant la fermeture de
l’application, une boîte de message est affichée pour demander comment gérer
ces modifications. Les réponses possibles sont Oui, Non ou Annuler. Répondre
Oui applique les mises à jour à la base ; Non ferme l’application sans modifier
la base ; Annuler annule la sortie sans annuler les modifications de la base de
données et conserve l’application en exécution.
16 Tutoriel
Ecriture d’un gestionnaire d’événement
4 Vous devez déclarer la variable utilisée dans la procédure. Sur une ligne entre
procedure et begin, tapez :
var
Option: TMessageButton;
5 Vérifiez que l’ensemble de la procédure ressemble à ce qui suit :
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
Option: TMessageButton;
begin
Action := caFree;
if ClientDataSet1.State in [dsEdit, dsInsert] then
ClientDataSet1.Post;
if ClientDataSet1.ChangeCount> 0 then
begin
Option := Application.MessageBox(
’Il y a des mises à jour en attente. Voulez-vous les écrire dans la base ?’,
’Mises à jour en attente’,[smbYes, smbNo, smbCancel], smsWarning, smbYes);
case Option of
smbYes: ClientDataSet1.ApplyUpdates(-1);
smbCancel: Action := caNone;
end;
end;
end;
6 Pour finir, choisissez Fichier|Tout enregistrer pour enregistrer le projet. Puis,
appuyez sur F9 pour exécuter l’application.
Astuce Corrigez les erreurs en double-cliquant sur le message correspondant pour
aller à la ligne de code concernée ou en appuyant sur F1 pour obtenir de
l’aide sur le message.
Et voilà ! Vous pouvez essayer l’application et observer son fonctionnement. Pour
quitter le programme, vous pouvez utiliser la commande Fichier|Quitter
désormais totalement fonctionnelle.
Index
A D
ActionList, composant 9 DataSetProvider, composant 6
affichage des images 13 DataSource, composant 6
ajout DBGrid, composant 7
connexion de base de données à une DBNavigator, composant 8
application 3
grille à une application 7 E
image à une application 13
écriture de gestionnaires d’événements 14–17
menu principal à une application 10
employee.gdb, base de données exemple 4
titre à une application 13
ensembles de données
application des modifications à une base de
client 6
données 12
unidirectionnels 5
applications de bases de données
Exécuter, bouton 8
accès 3–5
exécution des applications 8
présentation 1
exemple, base de données 4
architecture, base de données 1
G
B gestionnaires d’événements, écriture 14–17
base de données exemple 1–17 graphiques, affichage 13
base de données, nom d’utilisateur et mot de grille, ajout à une application 7
passe 4
bouton, ajout de Mise à jour immédiate 12 I
Button, composant 12
icônes, ajout à une application 13
Image, composant 13
C ImageList, composant 9
ClientDataSet, composant 6
compilation des programmes 8 L
composants Label, composant 13
ActionList 9
Bouton 12 M
ClientDataSet 6
DataSetProvider 6 MainMenu, composant 10
DataSource 6 menu, ajout à une application 10
DBGrid 7 mise à jour d’une base de données 12
DBNavigator 8 Mise à jour immédiate, bouton 12
Image 13
ImageList 9 N
Libellé 13 navigation parmi les données d’un ensemble de
MainMenu 10 données 8
non visuels 3
SQLConnection 3
SQLDataSet 5
P
composants non visuels 3 Panel, composant 13
création d’un projet 2 programme exemple 1–17
projet
création 2
exécution 8
Index v
Copyright © 2002, Borland Software Corporation. All rights reserved. BORLAND CONFIDENTIAL
août 8, 2002 10:04 pm (C:\d7\d7-W\d7books\book_CD\Database tutorial\databaseIX.fm)
S T
SQLConnection, composant 3 tutoriel 1–17
SQLDataSet, composant 5
U
unidirectionnel, ensemble de données 5
vi Tutoriel