DATALIB : SIMPLIFIEZ-VOUS LA VIE AVEC ADO.NET

Utilisateur anonyme - 2 sept. 2005 à 18:43
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009 - 16 mai 2007 à 11:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33586-datalib-simplifiez-vous-la-vie-avec-ado-net

cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
16 mai 2007 à 11:28
Parfaitement, il suffit que ton SGBD les supporte. Les BLOBs sont représentés par la plupart des fournisseurs sous-forme de tableaux de Bytes. C'est à toi de restituer leur forme originale. Pour la gestion des images par exemple, refère-toi à cette source: http://www.vbfrance.com/codes/AFFICHER-MODIFIER-IMAGES-DANS-DATAGRID_31401.aspx
nivb Messages postés 1 Date d'inscription dimanche 22 octobre 2006 Statut Membre Dernière intervention 4 mai 2007
4 mai 2007 à 22:56
Code intéressant !
Je voudrais gérer un enregistrement binaire de type Blob cela est-il possible ?
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
19 avril 2006 à 17:13
Ah, j'avais pas remarqué le second volet de ton commentaire. Pour retourner un DataSet ou un DataTable, tu dois carrément définir ta propre implémentation de IDataReaderHandler. Sinon, utilise DataSetManager qui intègre deja un DataSet et qui possède toutes les fonctionnalités de QuerryRunner.
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
19 avril 2006 à 17:09
Ah, j'avais pas remarqué le second volet de ton commentaire. Pour retourner un DataSet ou un DataTable, tu dois carrément définir ta propre implémentation de IDataReaderHandler. Sinon, utilise DataSetManager qui intègre deja un DataSet et qui possède toutes les fonctionnalités de QuerryRunner.
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
31 mars 2006 à 15:43
Ajoute une virgule entre les arguments
cs_rabbiwan Messages postés 151 Date d'inscription mercredi 18 septembre 2002 Statut Membre Dernière intervention 22 février 2007
14 mars 2006 à 14:39
bonjour
ok merci de l'info, par contre je dois ajouter une virgule ou un point-virgule entre les deux arguments?
New Object() {"@City", "México D.F.","@pays", "México"}
New Object() {"@City", "México D.F.";"@pays", "México"}

De plus j'ai essayer de retourner un objet dataset ou datatable mais le retour ne se fait pas trés bien. j'ai développé une autre classe pour cela.
Tu as pas eu le même problème?

En tout cas bravo pour ton code bien commenté et le projet dans son ensemble.
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
14 mars 2006 à 14:30
Supprime les accolades entre "México D.F" et "@Pays" (c'est la même liste d'arguments)
cs_rabbiwan Messages postés 151 Date d'inscription mercredi 18 septembre 2002 Statut Membre Dernière intervention 22 février 2007
10 mars 2006 à 15:26
Bonjour
Je trouve ton code source pas mal du tout.
J'ai voulu voir un peu comment ca se comportait et j'ai voulu mettre un select avec plusieurs variables. Ex : select * from test where mat='01' and annee='2006' etc etc.
Comment fais tu pour passer plusieurs variables?
qRunner.RunQuery(Queries("Customers"), New Object() {"@City", "México D.F."}{"@pays", "México"}, New ObjectListHandler(GetType(Customer))) est la bonne méthode?
Pour récupérer un select avec une clause where on doit passer par une list. Ne serait pas possible de le faire passer directement dans un datatable ou dataset?
Merci pour ces informations.
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
6 déc. 2005 à 20:48
Désolé d'avoir attendu tout ce temps pour te répondre. Je m'était absenté pour une brève période et je n'ai donc lu ton commentaire que récemment. Neamoins, je puis t'informer que la dernière mise à jour de cette source devrait logiquement resoudre ce problème car bien que je ne dispose pas encore de VS.NET 2005, j'ai déjà été confronté à un problème similaire. Ce qui m'a poussé à modifier le prototype de la méthode IRowProcessor.ToScalar en même temps que plein d'autres détails dans la DataLib.

Merci
Michel
cs_Hobby Messages postés 116 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 17 septembre 2008
7 nov. 2005 à 01:08
Bonsoir,

Ta source ne fonctionne plus dans .net 2005.
Aucun problem a la conversion, mais a l'exécution:
Dans RowProcessors\BasicRowProcessor.vb
Au debut, dans la fonction "Public Overridable Function ToScalar"
tu as: "Return reader(field)"

Ceci génère une erreur que je ne comprend pas:
"Latebound overload resolution cannot be applied to 'Item' because the accessing instance is an interface type."

Merci
Olivier
Utilisateur anonyme
2 sept. 2005 à 18:43
Ca à l'air interressant je jette un oeil de suite. je commence avec ADO .Net et c'est pas toujours évident.
Rejoignez-nous