1. L'état de l'alias de la base de données
Le moteur de base de données intégré de Delphi BDE (Borland Database Engine), fournit des fonctions de traitement de base de données puissantes, et BDE est la partie centrale de la fonction de base de données de Delphi.
Prenant une base de données locale qui n'est utilisée que par une machine autonome à titre d'exemple, le programme Delphi peut contrôler directement l'accès des données de base de données via BDE. Ce contrôle d'accès est basé sur la configuration des paramètres BDE. Tables de base de données spécifiques. Par conséquent, lors de la création d'une table de base de données, il doit y avoir deux processus: l'un consiste à détecter si l'alias de base de données correspondant existe via BDE. (c'est-à-dire Databasename) dans l'alias de la base de données (c'est-à-dire Databasename) s'il existe un tableau de base de données qui doit être établi, s'il n'existe pas, il sera établi. De cette façon, les données du tableau d'origine sont protégées contre la perte.
2. Composant de session: interface entre le programme de base de données Delphi et BDE
Delphi fournit automatiquement un composant de session pour les applications de base de données, qui est la clé de l'interface de l'application avec BDE. Vous trouverez ci-dessous une description de prototype de plusieurs processus du composant de session concernant l'interface BDE.
1.GetaliasNames (Liste: TStrings); Store les noms de tous les alias de la base de données dans la configuration BDE actuelle dans la liste des chaînes de liste.
2.AddstandardAlias (nom const, chemin, defaultDriver: String); Par exemple, ajoutez un alias nommé CNTSSAMP, le pilote de base de données par défaut est paradoxe et le chemin de stockage est c: / delphp11:
Session.AddstandardAlias (CNTSSAMP, c: / Delphp11, paradox);
3.GetTableNames (const databasename, modèle: chaîne; extensions, systemTables: boolean; list: tStrings);
4.SAVECONFIGFILE;
De plus, utilisez la valeur de List.Indexof (chaîne spécifiée) pour déterminer s'il existe des chaînes requises dans la liste des chaînes pour déterminer si un nouvel alias de base de données et une table de base de données doivent être établis.
3. Un exemple
Écrivez le code suivant dans l'événement Form1.Formation. CNTSSAMP.
Procédure tform1.formCreate (expéditeur: tobject
var
ap: tStringList; {variable stringlist}
Réponse: entier;
Commencer
ap: = tStringList.create;
Session.getaliasNames (AP); {Get Alias List}
if (ap.indexof (cntssamp) = - 1) alors {déterminez si l'alias existe}
Commencer
Réponse: = Application.MessageBox (L'alias cntSSAMP n'existe pas, est-il créé maintenant ?, BDE Fenêtre d'information, MB - Okcancel); {Ajouter un alias de base de données nommé CNGZSAMP}
Si réponse = idcancel alors
Commencer
ap.free;
Sortie;
fin;
Session.AddstandardAlias (CNTSSAMP, c: / Delphp11, paradox);
Session.saveconfigfile; {Fichier de configuration BDE Save}
fin ;
ap.clear; {obtenir la liste de tous les noms de table dans alias cngzsamp}
Session.getTableNames (cntssamp ,, false, false, ap);
if (ap.indexof (tsk) = - 1) alors {déterminez si le tableau existe}
Commencer
Réponse: = Application.MessageBox (Le Table TSK n'existe pas dans l'alias cntSsamp, est-il créé maintenant ?, Fenêtre d'information du tableau, MB - Okcancel);
Si réponse = idcancel alors
ap.free;
Sortie;
fin;
avec la table1 faire
Commencer
Actif: = false;
Databasename: = cntSSamp;
TableName: = TSK; {Nom de la table}
TableType: = ttparadox; {Type de base de données}
avec fielddefs faire
commencer {Ajouter un champ}
Clair;
Ajouter (sh, ftsstring, 30, false);
Ajouter (sm, ftstring, 30, false);
Add (CBS, FTSTRING, 20, FAUX);
Add (cbrq, ftdate, 0, false);
Add (ys, ftinteger, 0, false);
fin;
avec indexDefs faire
commencer {Ajouter un index}
Clear;
Add (shsy, sh, [primaire, ixunique]);
fin;
CrééTable; {Créer un tableau}
fin;
fin ;
ap.free; {libérer la variable ap}
fin;