Mickylord
Messages postés63Date d'inscriptionmardi 25 décembre 2001StatutMembreDernière intervention11 février 2007
-
17 déc. 2004 à 00:04
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
17 déc. 2004 à 15:32
Alors ici j'essay de faire en sorte d'envoyer un email, ( ce qui fonctionne parfaitement ) le probleme est que j'aimerai le personnaliser, donc :
quand je met [nom] dans un textbox, il doit etre remplacer par le nom de la personne enregistré dans une base de donnée, le code donne ca :
Do until Not myreader.Read()
Dim ResultatFinal as string
Dim Resultatsujet as string
Dim ResultatRequete as string
Dim ResultatRequetes as string
dim ContenuLexique as string
dim nom as string
[ je me suis servit d'une source de jesusonline, merci :) ]
Alors tout marche bien sauf une chose :
quand je recoi un mail, le nom est correctement ajouté mais il y a une énorme série d'espace entre le nom et le reste du texte, je me retrouve avec :
---
salut Mickylord reste du texte ...
----
je suis presque sur que cela viens du CType(myReader("pseudo"), string), mais je ne sais pas de quoi ... J'ai essayé de changé string en char et cela marche,
parcontre au lieu d'avoir le nom en entier je n'ai que la premiere lettre ;)
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 17 déc. 2004 à 02:59
Il me semble que cela vient du type de champ de ta base.
ta base doit avoir une longueur fixe, par exemple 32 et si tu met un pseudo de 4 lettres ton ben dans ta base il te met 4 lettre et remplis le champ d'espace pour aller jusqu'a 32, je pense que c'est un truc du style.
pour le verifier tu peux regarder la taille du champ, et si a chaque user c'est le meme c'est que le problème doit etre ici :)
pour savoir le nombre de caractère du champ :
mMailMessage.Body = ResultatFinal & " " & CType(myReader("pseudo"), string).Length
pour résoudre ton problème deux solutions, soit de le traiter à la source, malheureusement je connais encore pas assez SQL pour te certifier une solution. Change le type de ton champ en nvarchar ou ntext, et surtout créer un nouvel enregistrement pour controler, tes anciens enregistrement sont remplis avec des espaces, et en changeant le type de champ il va pas supprimer les espaces :)
l'autre solution c'est du pur VB, un truc du genre
CType(myReader("pseudo"), string).replace(" "," ")
tu auras un espace apres la fin de ton pseudo, mais je pense pas qu'il faille passer par VB pour regler ton problème, mieux vaut le regler sous SQL.
des sites pour SQL : sql.developpez.com, sqlfr.com
Mickylord
Messages postés63Date d'inscriptionmardi 25 décembre 2001StatutMembreDernière intervention11 février 2007 17 déc. 2004 à 12:30
décidément, merci beaucoup Jesusonline :D
Tu a touché dans le mile consernant le programme, il suffisais de remplacer le champs que j'avais mis de type char en varchar, et ca marche parfaitement.
Merci encore :)
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 17 déc. 2004 à 15:32
:) Tant mieux
petite parenthèse je prefere etre appellé Cyril plutot que JesusOnLine ;) et je me souviens pas de la source dont tu parles, t'es sur que c'est moi et pas Fabrice69 ? ou peut etre que j'ai oublié cette source :big) mais je crois que c'est F__ qui a fait une source surl'envoie de mail en .net :)