NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024
-
21 août 2007 à 10:58
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024
-
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
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 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.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 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 !