J'essaye de créer un composant d'accès aux données indépendant du SGBD (.net framework 2).
Pour cela j'utilise IDbConnection et IDataAdapter.
J'ai une classe DB qui se connecte à la base de donnée grâce à IDbConnection et contient une méthode getDataTable(string sqlCommand) qui comme son nom l'indique permet de renvoyer un datatable en fonction de la requête envoyée en paramètre.
Dans le constructeur de ma classe, aucun problème, ma connexion "con" est correctement initialisée et contient notamment le mot de passe de connexion à la base.
Mais problème, lorsque j'essaye d'appeler ma méthode getDataTable() après avoir instancié ma classe visual studio me renvoie une erreur m'indiquant que les informations de connection à la base ne sont pas correctes. Et effectivement lorsque je passe ça au debugger je me rend compte que la chaine de connexion con.ConnectionString est presque complète... presque car le mot de passe a disparu ! Comment puis-je récupéré celui-ci ou encore mieux empêcher sa disparition mystérieuse ?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class DB { private IDbConnection con; private IDataAdapter adapt; private DataSet ds; public DB(String conStr, String dataProvider) { //Mot de passe ok con = DBFactory.ConnectionFactory(dataProvider, conStr); } public void Open() { con.Open(); } public void Close() { con.Close(); } public IDbConnection Con { get { return con; } } public DataTable getDataTable(string sqlCommand) { DataTable dt = new DataTable(); //Le mot de passe a disparu de la chaine de connection adapt = DBFactory.DataAdapterFactory("SqlClient", con.ConnectionString, sqlCommand); ds = new DataSet(); adapt.Fill(ds); dt = ds.Tables[0]; return dt; } }
Partager