Il est souvent de bon ton d'utiliser une technologie, telle que ADO ou ADO.NET par exemple, toutefois la question à se poser est : "Est-ce que j'utilise bien cette technologie" en ai-je vraiment compris les fondements, les tenants et les aboutissants...
Nous allons tenter de répondre à ces questions par rapport aux connexions entre Delphi et les bases de données. Tout d'abord il existe deux types de connexions:
Les connexions Explicites se font via un objet de type TCustomConnection qui peut être décliné en TADOConnection.
Il est aussi possible de connecter Implicitement des datasets (ensemble de records provenant d’une base de données formant une sorte de table logique en mémoire, ce concept fondamental sera développé plus tard) vers la base de données (ç-à-d ne pas utiliser l’objet connexion mais passer directement les paramètres du server à la propriété Connectstring). Honnêtement, je ne le conseille pas, car en plus de limiter vos actions ceci peut s’avérer dramatique si vous devez changer les paramètres de la base de données et que vous avez hardcodé les connectstring…
Manipuler l’objet de connexion :
Pour se connecter à la base de données on peut soit utiliser la méthode Open ou mettre la propriété Connected à True. Passer par la seconde méthode permet de lancer l’évènement BeforeConntect et d’éventuellement passer des paramètres de connexion.
Lorsque plus aucun dataset n’utilise l’objet connexion celui-ci est détruit. Dans certains cas, si l’on fait des accès très fréquents à la DB, il est mieux de ne pas autoriser cette destruction pour réduire le trafic réseau et la charge de la DB. Dans ce cas mettre à True la propriété : KeepConnection.
Pour se déconnecter de la DB utiliser la méthode Close ou mettre la propriété Connected à false, faire cela lance un évènement BeforeDisconnect.
Une connexion à une base de données requiert généralement un password, dans le cas d’une connexion ADO, simplement mettre le login/password dans la propriété ConnectString et placer la propriété LoginPrompt à false pour éviter d’avoir la boîte de dialogue.
Noter que hardcoder un password en clair dans une application ou dans un fichier de configuration n’est jamais très intelligent. L’évènement ADO OnWillConnect est appelé à la place du login prompt et permet de définir un login et un password.
Nous n’aborderons pas dans ce billet la gestion des transactions qui est un point fondamental mais qui mérite un billet (voir un livre entier) à lui tout seul.
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire