Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme d'interface

4 réponses
Avatar
aserf
Bonjour,

je developpe un g=E9n=E9rateur de code, et je suis confronter a un
probleme,
Avant je g=E9n=E9rais le code en fonction de la base de donn=E9e, ce qui
permettai a la personne de migrer ses projet d'une base de donn=E9 a
l'autre facilement. Mais il devais regenerer le code ...


j'ai modifier le fonctionnement en utilisans les interfaces. Ceci
permet de chang=E9 de base de donn=E9 a la vol=E9.
Mon probleme est que j'ai trouver des interface pour presque tout les
composant (IDbDataAdapter,IDbCommand,IDConnexion, ...) mais
impossible
de trouve l'interface de "CommandBuilder"


Est ce que qq serait pourquoi elle n'existe pas ? ou peut etre est ce
que elle existe, mais je suis passer a coter ?


Cordialement
S=E9bastien
www.database2code.com

4 réponses

Avatar
Jérémy Jeanson
Bonjour Sébastien,

Je crois qu'il n'existe pas d'interface pour CommandBuilder car les
CommandBuilder spécifiques doivent hériter de la classe CommandBuild er. Tu
pourrais donc envisager d'utiliser la classe CommandBuilder comme
"contrat", un peu comme tu sembles vouloir le faire avec des interfaces.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
aserf
On 23 déc, 11:45, Jérémy Jeanson wrote:
Bonjour Sébastien,

Je crois qu'il n'existe pas d'interface pour CommandBuilder car les  
CommandBuilder spécifiques doivent hériter de la classe CommandBuilde r. Tu  
pourrais donc envisager d'utiliser la classe CommandBuilder comme  
"contrat", un peu comme tu sembles vouloir le faire avec des interfaces.
--
Jérémy JEANSON
MCPhttp://www.jjeanson.fr



Merci,

c'est effectivement ce que j'ai fait, comme pour les dataadapter et
autre, mais les fonction dataadapter par exemple retounera un
IDDataAdapter, alors que si je n'es pas d'interface, je doit retourner
un type "Object"
donc pas type, c pour moi un peu moin "propre".

C'etait juste pour etre sur de ne pas passer a coter de qq chose,

Merci,
Sébastien
www.database2code.com
Avatar
Patrice
Bonjour,

alors que si je n'es pas d'interface, je doit retourner
un type "Object"



Non, si toutes les classes héritent d'un même type, il est possible
d'utiliser ce type. Ici cela serait donc DbCommandBuilder
(http://msdn.microsoft.com/fr-fr/library/system.data.common.dbcommandbuilder(VS.80).aspx).

--
Patrice
Avatar
aserf
On 26 déc 2009, 13:54, "Patrice" <http://scribe-fr.blogspot.com/>
wrote:
Bonjour,

> alors que si je n'es pas d'interface, je doit retourner
> un type "Object"

Non, si toutes les classes héritent d'un même type, il est possible
d'utiliser ce type. Ici cela serait donc DbCommandBuilder
(http://msdn.microsoft.com/fr-fr/library/system.data.common.dbcommandb... ).

--
Patrice



Merci c'est exactement sa que je cherchais, mais je ne trouvais pas
cette class ...
je vais voir si cela ne pose pas de probleme,

je suis passer de sa,

''' <summary>
''' Retourne la commande du DataAdapter
''' </summary>
''' <param name="pDataAdapter"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function GetCommandBuilder(ByRef pDataAdapter As
IDbDataAdapter) As Object

Select Case Provider

Case Enum_TypeProviderConnexion.MySql
Return New MySql.Data.MySqlClient.MySqlCommandBuilder
(pDataAdapter)

Case Enum_TypeProviderConnexion.Odbc
Return New Data.Odbc.OdbcCommandBuilder(pDataAdapter)

Case Enum_TypeProviderConnexion.Oledb
Return New Data.OleDb.OleDbCommandBuilder
(pDataAdapter)

Case Enum_TypeProviderConnexion.Sql
Return New Data.SqlClient.SqlCommandBuilder
(pDataAdapter)

End Select

End Function


à


''' <summary>
''' Retourne la commande du DataAdapter
''' </summary>
''' <param name="pDataAdapter"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function GetCommandBuilder(ByRef pDataAdapter As
IDbDataAdapter) As System.Data.Common.DbCommandBuilder

Select Case Provider

Case Enum_TypeProviderConnexion.MySql
Return New MySql.Data.MySqlClient.MySqlCommandBuilder
(pDataAdapter)

Case Enum_TypeProviderConnexion.Odbc
Return New Data.Odbc.OdbcCommandBuilder(pDataAdapter)

Case Enum_TypeProviderConnexion.Oledb
Return New Data.OleDb.OleDbCommandBuilder
(pDataAdapter)

Case Enum_TypeProviderConnexion.Sql
Return New Data.SqlClient.SqlCommandBuilder
(pDataAdapter)

End Select

End Function