Comment enregistrer les paramètres de connexion de base de données du code et des mesures Xiangjie


Dans la conception d'applications de bases de données, il faut souvent être des informations indépendantes du programme pour assurer la portabilité du programme. L'une des informations les plus importantes sont les paramètres de connexion de base de données.
Dans Delphi, les paramètres de connexion de base de données ont été la bonne méthode est très simple, il vous suffit de créer un module de données, ce qui ajoute une connexion ADO, double-cliquez sur l', puis sélectionnez dans la fenêtre pop-up "Utiliser la chaîne de connexion", cliquez sur "Build" bouton dans le "Data Link Properties", sélectionnez le moteur de lecteur appropriée, et définir les paramètres de connexion appropriés à ce sujet. Cliquez sur "OK", le système génère automatiquement la chaîne de connexion, apparaît dans la chaîne de connexion dans l'inspecteur d'objets.
Pour Microsoft SQL Server, par exemple chaîne de connexion, à quelque chose comme ceci:
Provider = SQLOLEDB.1; Mot de passe = carte; Persist Security Info = True;
User ID = carte; SuperWorkFlow Initial Catalog =; Data Source = GTSERVER
chaîne de connexion dans les paramètres du point-virgule (;) pour séparer, les significations spécifiques sont les suivants:
type de lecteur fournisseur -;
Source des données - le nom du serveur;
Initial Catalog - nom de la base;
Nom d'utilisateur Nom d'utilisateur -;
Mot de passe - mot de passe;
Persist Security Info - L'utilisation de l'authentification de sécurité continue.
Maintenant, la première chose que nous avons à faire est d'écrire les paramètres d'un fichier INI.
Windows fichier INI, interprétés comme des fichiers d'initialisation de Windows. Il est une application conçue pour enregistrer les informations d'initialisation et information sur l'environnement pour exécuter le fichier texte. Par exemple, deux célèbres Windows 3.1 WIN.INI et SYSTEM.INI fichier INI dans le démarrage de Windows définit l'environnement Windows, la réponse de la souris la vitesse, l'utilisation du shell (shell) de programme et d'autres paramètres, le système de Windows avec la plupart des applications sont également ont leur propre fichier INI. logiciel de Windows pour l'accès et la préservation des paramètres d'initialisation est de lire le fichier texte extension INI rendu compte que le programme s'exécute avant le début du développement du fichier INI des paramètres de recherche souhaités, et reflètent l'environnement opérationnel du programme , lorsque la sortie du programme, à son tour enregistrer le jeu de paramètres environnementaux dans le fichier INI.
fichier INI est un fichier texte, composé par un certain nombre de section dans chaque position entre parenthèses est le nombre de mots-clés et un signe égal, permettrait de contrôler l'application de chaque mot clé une caractéristique du travail, l'égalité du droit de développement de mots-clés Valeur Le mode de fonctionnement, sa forme générale comme suit:
[Section1]
keyword1 = valeur1
keyword2 = valeur2
[Section2]
keyword1 = valeur1
keyword2 = valeur2
Un SectionName et nom de la section KeywordName et des mots clés ont été spécifiés, la valeur pour les paramètres de mot-clé correspondant, si le signe égal sur la droite, sans aucun contenu (valeur vide) que les applications Windows ont des valeurs par défaut spécifiée pour le mot-clé, si le Impossible de trouver le fichier dans un mot-clé, a également déclaré que spécifier des valeurs par défaut pour eux, la Section par l'ordonnance n'est pas pertinent, dans chaque section, l'individu n'est pas non plus question de l'ordre de mots-clés, la valeur-clé Le modèle a été chaîne ou un entier, il devrait être fait de deux façons de lire et d'écrire.
Rédaction des fichiers INI existe des conditions strictes:
1, Les noms de section doivent être "[" et "]", et "[" doit être la première colonne de l'écran.
2, les mots-clés nom doit commencer par la première colonne de l'écriture d'écran, et doit être suivi de "="
3, le fichier peut être des commentaires, de commenter chaque ligne par ";" au début.
En conformité avec les règles ci-dessus, nous écrivons le texte suivant du fichier INI de stockage des informations de connexion de base de données:
] DbParam [
Data Source = GTSERVER
SuperWorkFlow Initial Catalog =
User ID = carte
Mot de passe = carte
Les travaux suivants ont à faire est d'écrire du code, lorsqu'il est exécuté dans le programme de lecture à partir des paramètres du fichier INI connexion à la base, pour lequel j'écris le code suivant:
/ / RWini.pas
(
Nom du module: fichier de configuration lire et à écrire
Préparé par: bleu
Ecrivez la date :2003-4-26
fonctions du module: pour lire le fichier de configuration système requise pour exécuter les différents paramètres du système
Le système d'exécuter tous les paramètres nécessaires à l'écriture de la configuration des fichiers système
Générer la chaîne de connexion de base de données
)
RWini unité;
interface
utilise inifiles;
strINIname const =''db.ini'';// fichier INI changements de nom selon les circonstances, nous
var
iniParam: TIniFile;
strLocal: String;
readParam procédure (serveur out: String;
base de données: string; utilisateur: string; mot de passe: string);
writeParam procédure (serveur: string; base de données: string;
utilisateur: string; mot de passe: string);
getConnStr fonction: string;
exécution

readParam procédure (serveur out: String;
base de données: string; utilisateur: string; mot de passe: string);
commencer
/ / Lecture du fichier de paramètres de connexion de configuration de base de données
serveur: = iniParam.ReadString (''dbParam'','' source de données'','''');
base de données: = iniParam.ReadString (''dbParam'','''',''''); Initial Catalog
Utilisateur: = iniParam.ReadString (''dbParam'','' ID utilisateur'','''');
Mot de passe: = iniParam.ReadString (''dbParam'','' Mot de passe'','''');
fin;

writeParam procédure (serveur: string; base de données: string;
utilisateur: string; mot de passe: string);
commencer
/ / Écrira les paramètres de configuration de connexion du fichier de base de données
iniParam.WriteString (''dbParam'',''''Source de données, serveur);
iniParam.WriteString (''dbParam'',''''Initial Catalog, base de données);
iniParam.WriteString (''dbParam'','' ID utilisateur'', utilisateur);
iniParam.WriteString (''dbParam'',''''Mot de passe, mot de passe);
fin;

getConnStr fonction: String;
var
serveur, base de données, utilisateur, mot de passe: String;
commencer
/ / Génère la chaîne de connexion de base de données
readParam (serveur, base de données, utilisateur, mot de passe);
Résultat: =''Provider = SQLOLEDB.1;
Mot de passe =''+''+ mot de passe; Persist Security Info = True;
User ID =''+ utilisateur +''; Initial Catalog =''+ +''base de données;
Data Source =''+ serveur;
fin;

initialisation
GETDIR (0, strLocal);
iniParam: = TINIFile.Create (strINIname +''''+ strLocal);

finalisation
iniParam.Free;
fin.
Créez le module de données dans le cas du programme ajoutez le code suivant:
TDM.DataModuleCreate procédure (Sender: TObject);
var
confForm: TConf;
commencer
conn.ConnectionString: = RWini.getConnStr;
essayer
conn.Open;
sauf
sur d'erreur: ne EOLEException
commencer
confForm: = TConf.Create (auto);
confForm.ShowModal;
fin;
fin;
fin;
Ainsi, au cours de l'exécution du programme seront automatiquement lues dans le fichier INI les paramètres de connexion de base de données, la connexion à la base de données, si l'erreur de connexion, la fenêtre de paramètres de configuration s'affiche, afin que les paramètres utilisateur de profil de connexion de base de données. fenêtre de configuration, le code est le suivant:
/ / Le code ci-dessus omis
utilise RWini;

($ R *. DFM)

TConf.FormShow procédure (Sender: TObject);
var
sServer, sDatabase, sUser, sPassword: String;
commencer
readParam (sServer, sDatabase, sUser, sPassword);
sServer self.edtServer.Text: =;
sDatabase self.edtDatabase.Text: =;
sUser self.edtUser.Text: =;
sPassword self.edtPassword.Text: =;
self.btnOK self.ActiveControl: =;
fin;

TConf.btnCancelClick procédure (Sender: TObject);
commencer
étroite;
fin;

TConf.btnOKClick procédure (Sender: TObject);
var
sServer, sDatabase, sUser, sPassword: String;
commencer
self.edtServer.Text sServer: =;
self.edtDatabase.Text sDatabase: =;
self.edtUser.Text sUser: =;
self.edtPassword.Text sPassword: =;
writeParam (sServer, sDatabase, sUser, sPassword);
étroite;
fin;