COMPOSANT XSLT-SQL SERVER

cs_mushimushi Messages postés 5 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 avril 2005 - 17 avril 2005 à 01:29
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 - 29 avril 2005 à 03: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/28278-composant-xslt-sql-server

cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 1
29 avril 2005 à 03:28
Voilà 15 jours que j'ai attaqué sérieusement ma nouvelle appli.. Et je me sers donc de ce composant, mais uniquement avec des procédures stockées paramétrées. Alors comme j'ai pas fourni d'exemple, bah c'est tout simple. Tapez votre procédure en déclarant une variable @nom, déclarer le paramètre comme dans les exemples fournis avec mon composants et ensuite dans la propriété "RequeteSQL" au lieu de mettre : "SELECT nom FROM machin WHERE nom = ?" et bien vous tapez : "Exec ma_proc ? FOR XML NESTED"
Voilà c'est tout.
Et si il y a plusieurs paramètres :
"Exec ma_proc ?, ? FOR XML NESTED"
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 1
18 avril 2005 à 16:41
Merde, vi... En fait quand je vais livrer mon appli, je vais faire une page spéciale qui va chercer toutes les infos de mes dll et les affiche à l'écran.. Ce sera pour le suivi de version.

Je reposte tout de suite l'archive, sans mon nom car effectivement ca craint un peu : )
cs_mushimushi Messages postés 5 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 avril 2005
18 avril 2005 à 16:38
re,

c'est pas pour t'embêter, mais il y a un nom dans ton assembly.

au cas ou tu voudrais rester anonyme je te suggère de l'enlever (si c'est bien ton nom).

a+
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 1
17 avril 2005 à 19:06
Mise à jour effectuée et j'ai mis un exemple dans le zip.
En fait la seule chose qui change c'est ça :
au lieu de faire :

SqlToXslt1.XSLParams.AddParam("mon_param","","ma valeur !");

il faudra faire
XsltArgumentList() argus = new XsltArgumentList() ;
argus.AddParam("mon_param","","ma valeur !");
SqlToXslt1.XSLParams = argus
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 1
17 avril 2005 à 17:40
Bon, j'ai regardé mon code... Effectivement j'ai merdé, je comprends pas. J'avais déjà crée 2 propriétés pour configurer... Et je comprends pas pourquoi j'ai pas mis ces 2 variables publiques en propriété également... Bon je change tout ça et je poste la mise à jour.
cs_mushimushi Messages postés 5 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 avril 2005
17 avril 2005 à 16:38
re,

oui, même si cela ajoute du code, il faut ne faut JAMAIS mettre les variables internes d'un objet en public.

Je te conseille vivement de changer leur accès pour passer par des propriétés (ou des méthodes setMachin, getMachin comme en Java).

PS:
Pas besoin de les mettre en private.... il y a aussi protected... il faut peser le pour et le contre...

Si tu veux plus d'explications sur le pourquoi n'hésites pas à me demander.

a+
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 1
17 avril 2005 à 02:00
Merci de me donner le code permettant d'améliorer ce composant et de m'expliquer pourquoi je peux pas mettre ces variables en "public", tu penses que je devrais les transformais en propriété ? je vois que cette solution... Mais alors le code, du côté de la page, va grossir. Ca pert de l'intérêt... Bref, je suis pas expert .Net, si tu veux bien m'aider y a pas de souci.

Pour le reste, t'as pas compris, c'est pas grave... C'était dans le sens : content de pouvoir utiliser (grâce à asp.net et le patch XML pour SQL Server) un composant fait assez rapidement, permettant des transformations XSLT aussi puissantes. Inutile d'épiloguer, les joutes sur les forums me fatiguent : )
cs_mushimushi Messages postés 5 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 avril 2005
17 avril 2005 à 01:35
J'aurais juste un petit commentaire:

Si tu n'as jamais développé de ta vie, ok, tu peux être presque content de toi... (et encore, ton composant ne fait rien de spécial...).
Autrement, j'aurais honte de moi à ta place ....

Ca fait 20 ans qu'on dit qu'il ne faut pas mettre les variables d'un objet en public...

#region Variables publiques
public SqlXmlCommand CommandeSQL;
public XsltArgumentList XSLParams = new XsltArgumentList();
#endregion

Achètes-toi un livre sur l'objet.... et tu pourras être fier de ton ... achat.

La vanité est un vilain défaut....
cs_mushimushi Messages postés 5 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 avril 2005
17 avril 2005 à 01:29
...
Rejoignez-nous