Salut à tous,

je bloque sur le point suivant :

j'ai un object qui me permet de manipuler une BDD via une connexion Odbc :

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
 
public class HelperOdbc {
 
public void ConnectStringBuilder()
{
    //construction du connnectionString
}
 
public DataSet SelectQuery(string myQuery, string myTable)
{
    //open connection 
    //requetage qui renvoie un dataset 
}
 
....
}
maintenant je dois rajouter dans mes dev une possibilité de se connecter en Oledb,
je refais donc une autre class sur le même modèle que la précédente :

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
 
public class HelperOledb {
 
public void ConnectStringBuilder()
{
    //construction du connnectionString
}
 
public DataSet SelectQuery(string myQuery, string myTable)
{
    //open connection 
    //requetage qui renvoie un dataset 
}
...
}
et je comptais faire une troisième class qui me permet de renvoyer une instance de l'une des 2 class précédentes,
suivant la méthode de connexion choisie (oledb / odbc)
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
 
public class HelperBdd {
 
public ??? connectionHelper
 
public HelperBdd 
{
switch (connectionType)
{
    case "oledb":
        this.connectionHelper = new HelperOledb();
        break;
     case "odbc":
        this.connectionHelper = new HelperOdbc();
        break;
}
}
comment faire pour que HelperBdd.connectionHelper soit d'un type HelperOdbc OU HelperOledb?
ou alors c'est mon approche qui est mauvaise?

D'avance, merci.