Aide-moi à trouver la solution
DELPHI XE7 Comment détecter automatiquement le nom de serveur de PC pour connecté la base de donne SQL Server 2008 automatiquement
j'ai crée un projet Contient:
- Data Module : ADOConnexion / ADOTable / ADOQuery / DataSource
- plus de 15 FORM Lié à Data Module
- Base De Donneé SQL Server 2008
Je souhaite que l'application se connecte automatiquement au serveur Mais tout ce que j'ai fait n'a pas fonctionné
voila C'est ce que j'ai fait mais na pas marché
1 - j'ai creé un fichier "INI" nomé 'config.ini' et j'ai posé se fichier dans 'Debug' du projet creé
dans le fichier Config.Ini j'ai écrit
Code:
1 2 3
| [Connexion]
Serveur=PosteA\SQLEXPRESS ////// le Nom De Mon Serveur
BaseDeDonnees=Gestion_Empl ////// le de ma BDD SQL SERVER |
2- Dans la page de l'éditeur des codes du Data Module j'ai écrit le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
| unit DataModule;
interface
uses
System.SysUtils, System.Classes, Data.DB, Data.Win.ADODB, IniFiles;
type
TDM = class(TDataModule)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
ADOTable2: TADOTable;
ADOTable3: TADOTable;
ADOTable4: TADOTable;
ADOTable5: TADOTable;
ADOTable6: TADOTable;
ADOTable7: TADOTable;
ADOTable8: TADOTable;
DataSource2: TDataSource;
DataSource3: TDataSource;
DataSource4: TDataSource;
DataSource5: TDataSource;
DataSource6: TDataSource;
DataSource7: TDataSource;
DataSource8: TDataSource;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
private
{ Déclarations privées }
public
procedure InitialiserConnexion;
procedure DeconnecterTables;
{ Déclarations publiques }
end;
var
DM: TDM;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
uses Form1, Form2, Form3, Form4, Form5, Form6, Form7,
Form8, Form9, Form10;
{$R *.dfm}
procedure TDM.InitialiserConnexion;
var
IniFile: TIniFile;
Serveur, BaseDeDonnees: string;
begin
IniFile := TIniFile.Create('config.ini');
Serveur := IniFile.ReadString('Connexion', 'Serveur', '');
BaseDeDonnees := IniFile.ReadString('Connexion', 'BaseDeDonnees', '');
IniFile.Free;
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=' + BaseDeDonnees + ';Data Source=' + Serveur;
ADOConnection1.Connected := True;
// Activer les tables
ADOTable1.Active := True;
ADOTable2.Active := True;
ADOTable3.Active := True;
ADOTable4.Active := True;
ADOTable5.Active := True;
ADOTable6.Active := True;
ADOTable7.Active := True;
ADOTable8.Active := True;
ADOQuery1.Active := True;
end;
procedure TDM.DeconnecterTables;
begin
// Désactiver les tables
ADOTable1.Active := False;
ADOTable2.Active := False;
ADOTable3.Active := False;
ADOTable4.Active := False;
ADOTable5.Active := False;
ADOTable6.Active := False;
ADOTable7.Active := False;
ADOTable8.Active := False;
ADOQuery1.Active := False;
// Déconnecter la connexion
ADOConnection1.Connected := False;
end;
end. |
3- Dans la page de l'éditeur des codes du Principale 'FORM1' j'ai écrit le code suivant:
Code:
1 2 3 4 5 6
| procedure TForm1.FormCreate(Sender: TObject);
begin
DM.InitialiserConnexion;
end; |
Aide-moi à trouver la solution.