Problème de types avec ADO et DAO

Résolu
NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
- 21 août 2007 à 10:58
NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
- 21 août 2007 à 12:16
Bonjour

Dans mon programme j'ai des fonctions qui me retournent un RecordSet.

Pour des questions de performances, j'utilise les couples : DAO/Access et ADO/SQL Server (en fonction d'un fichier de config).

Le problème est que les objets recordsets sont différents, existe-t-il une méthode pour éviter de retourner un Object ?
Car dans mon programmes ces fonction sont utilisées un peu partout, et il n'est pas envisageable de penser à tout changer (sauf si c'est pas possible autrement).

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site

6 réponses

cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
21 août 2007 à 11:27
Ah moins de faire une classe qui soit une sorte d'adaptateur entre ces deux recordsets, je vois pas trop comment faire autrement : vu que tu n'as pas de notion d'héritage en VB, les deux recordset en question sont bien différents.
L'astuce : faire une classe qui possède un recordset DAO, un recordset ADO et qui possède les fonctions communes dont tu as besoin : moveNext, EOF, etc.

Ainsi, ta fonction renvoie une instance de cette classe, et elle, selon si elle possède un recordset ADO ou DAO, appelle les bonne méthodes.
3
NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
21 août 2007 à 11:33
Bonjour

Bon j'ai confirmation, va falloir passer par les objects ou une classe, bcp de boulot en perspective .

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
21 août 2007 à 11:33
Bonjour

Merci darksidou.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
21 août 2007 à 11:56
Bonjour

Au passage sais-tu comment implémenter le ! comme pour les recordsets dans une classe perso ?

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
21 août 2007 à 12:01
Je ne pense pas que ce soit possible ! De toute façon, je trouve que c'est une très mauvaise habitude : ca simplifie peut-être la saisie, mais je trouve cà illisible et vraiment pas standard !
Il vaut mieux un bon vieux :
recordset.fields("NomDuChamp").Value plutôt qu'un : recordset!NomDuChamp au moins tu sais ce que tu fais !
0
NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
21 août 2007 à 12:16
Bonjour

La question continue sur http://www.vbfrance.com/infomsg_OPERATEUR_1000072.aspx

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
0