Le contrôle de la table (composant) et le contrôle de la requête à Delphi doivent avoir une propriété Databasename. La propriété Databasename peut être utilisée pour spécifier le chemin de la table de données référencé par le contrôle. Il existe deux façons de définir le chemin d'accès à la propriété Databasename: la première méthode consiste à entrer directement le chemin d'accès où se trouve la table de données, et l'autre méthode consiste à utiliser l'alias de la base de données (ALIAS). Dans Delphi, l'alias de la base de données est défini dans le moteur de base de données (BDE) et un alias correspond à un chemin de fichier. Vous pouvez définir des alias comme suit: un alias est une cartographie des chemins de fichier et est l'abréviation des chemins de fichier. Par conséquent, l'utilisation d'alias de base de données dans la propriété Databasename et l'utilisation de chemins de fichiers sont essentiellement les mêmes, qui servent tous deux de chemin racine pour trouver le tableau de données. Cependant, dans la conception de l'application de la base de données, s'il existe de nombreux contrôles de table et des contrôles de requête impliqués, l'utilisation d'alias aux chemins de référence des fichiers est très efficace, pratique et n'est pas sujette aux erreurs. La raison est évidente: d'une part, les alias sont accessibles directement dans la liste sans nécessiter une entrée du clavier comme le chemin du fichier; .
De plus, les instructions SQL de la propriété TableName du contrôle de la table et le contrôle de la requête peuvent contenir les informations de chemin de la table de données. Étant donné que la situation des commandes de requête et de table est très similaire, ce qui suit n'est que la description des commandes de table. Ces informations de chemin peuvent être soit un chemin complet, soit la partie suivante d'un chemin complet. Par exemple, lors de l'attribution de la propriété TableName d'un contrôle de table, vous pouvez y attribuer C: / Delphi / Demo1 / Data / abonné, ou vous pouvez y attribuer des données / abonnés. Autrement dit, un chemin absolu peut être utilisé ou un chemin relatif peut être utilisé.
Pour faciliter le portage des programmes, vous n'avez généralement besoin de spécifier le chemin de la table de données dans la propriété Databasename et ne devez pas inclure les informations de chemin dans TableName. Généralement, ne spécifiez pas le chemin complet dans le nom de table de propriété.
La migration des applications de base de données est un problème important. Étant donné que dans une application de base de données pour accéder à une base de données ou à une table de données, le chemin du fichier de données doit être impliqué. D'une manière générale, l'application de la base de données doit être portée vers d'autres machines à utiliser après le développement, de sorte que le chemin du fichier de données lorsque l'application de la base de données est en cours d'exécution est probablement différent du temps de développement. Par conséquent, le chemin du fichier de données doit être géré efficacement pour la migration du système. Voici trois méthodes pour gérer les chemins de données de données. 1 et 1 Créez le fichier de données dans un sous-répertoire du répertoire où se trouve l'application. Le processus spécifique est (1) pour la commodité de la conception, un alias de base de données peut être utilisé pendant la conception, et l'alias de la base de données pointe vers le chemin où se trouve l'application. Ajoutez le nom de sous-chemin à la propriété TableName du contrôle de la table. (2) Avant de publier l'application, définissez tous les commandes de table et l'attribut d'espace de requête actif à false, et supprimez tous les caractères dans la base de données d'attribut (c'est-à-dire vide). Par défaut, le répertoire actuel dans lequel l'application s'exécute est le répertoire où se trouve l'application. Si le processus tel que CHDIR n'est pas appelé dans l'application pour modifier le répertoire actuel, il n'est pas nécessaire d'effectuer la troisième étape, sinon effectuer le traitement de la troisième étape.
(3) Dans l'événement OnCreate du formulaire qui utilise le contrôle de la table et le contrôle de la requête, attribuez le chemin où l'application est située à chaque contrôle de table et contrôle de la requête sur le formulaire. Tableau1.Databasename: = ExtractFilePath (application.exename); Utilisez des fichiers de configuration pour stocker les chemins de données. À l'avenir, les informations de chemin sont lues à partir du fichier de configuration. La lecture et l'écriture de fichiers de configuration sont implémentées à l'aide des méthodes fournies par la classe Tinifile, la classe Treginifile et le Tregistry de classe. L'idée de base de cette méthode est: (1) Pour la commodité de la conception, utilisez un alias de base de données pendant la conception. (2) Avant de publier l'application, définissez tous les commandes de table et l'attribut d'espace de requête actif à false, et supprimez tous les caractères dans la base de données d'attribut (c'est-à-dire vide).
(3) Dans l'événement OnCreate du formulaire qui utilise des commandes de table et des commandes de requête, affectez le chemin où l'application est située à chaque contrôle de table et contrôle de requête sur le formulaire.
TABLE1.DATABASENAME: = ExtractFilePath (application.exename);
3 et 3 Utilisez un alias de base de données pour stocker les chemins de base de données
Pour utiliser la session pour créer dynamiquement un alias de base de données, vous devez ajouter un composant Session1 au formulaire. Ce que nous utiliserons lors de la création et de la suppression dynamique de la base de données est une variable globale de session définie par l'unité, plutôt que le composant Session1 ajouté au formulaire. Lors de la création du système de banque de test, afin d'éviter la confusion, nous avons supprimé le composant Session1 sur le formulaire, ce qui n'a aucun effet sur la mise en œuvre de la fonction.
Le code suivant montre comment créer un alias nommé "abonné", son chemin de base de données est "e: / abonné" et son type de base de données est le paradoxe.
Session.configMode: = cmall; // spécifie le mode de configuration de la session
Session.AddstandardAlias ('net', 'e: / abonné', 'paradox');
Si vous devez supprimer un alias, vous devez d'abord vérifier si l'alias existe. Le code suivant montre comment vérifier si l'alias de la base de données "abonné" existe, et si oui, supprimez-le.
Définir la variable: Var Stralias: TStringList;
Code: stralias: = tStringList.create; // générer une instance de la classe TStringList
Session.getaliasNames (stralias); // obtient tous les alias de la base de données actuellement
// Découvrez si l'abonné existe.
if (stralis.indexof ('abonné') <> -1) alors
Commencer
Session.deletealias ('abonné'); // Supprimer l'abonné aux alias de la base de données
Session.SaveConfigfile;
fin;