Probleme de conversion de variable

Résolu
microshit Messages postés 16 Date d'inscription lundi 10 juillet 2006 Statut Membre Dernière intervention 3 août 2006 - 17 juil. 2006 à 15:51
microshit Messages postés 16 Date d'inscription lundi 10 juillet 2006 Statut Membre Dernière intervention 3 août 2006 - 17 juil. 2006 à 17:08
Bonjour tout le monde.
Je débute dans VB.NET et j'ai un petit probleme de conversion de variable. En fait, je mets les option explicit et strict a on et j'ai un probleme. Je ne veux pas les mettre off. Je passe par paramètre les valeurs d'une connexion adodb dans une fonction. A l'intérieur j'aimerais qu'une valeur me soit renvoyer pour savoir si ma connexion a été établie. Quand je veux renvoyer la valeur de la fonction, il me dit que je ne peux pas renvoyer une valeur string alors que ma fonction est de type adodb. Comment faire??
Ai je été clair? Merci pour votre aide.

9 réponses

pymaster Messages postés 74 Date d'inscription vendredi 14 juillet 2006 Statut Membre Dernière intervention 14 août 2006
17 juil. 2006 à 17:06
Re Bonjour !

ok, si tu utilise ADOBD alors il faut effectivement oublier le ConnectionState.Open, il ne fonctionnera pas.

Par contre la valeur State reste fonctionnel ( si comme en Vb6 ) il faut juste que tu la teste.

Par contre si j'ai raison pour la fonction

 public function getConnexion(param) asadodb.connection

alors tu ne peux pas faire

return maConnexion.State.toStrign

tu fais

return maConnexion

et dans ton code tu fais

objConnexion = getConnexion(param)
if objConnexion.State = 0 then
bla bla bla
...

Le return est nouveau dans .NET mais il fonctionne de la même façon que lorsque dans vb6 tu fessais :

mafonction = maValeurDeRetour

PY
3
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
17 juil. 2006 à 16:11
Salut
ça, sa converti ta variable en string apres si ça marche pour ce que tu veux faire je sais pas, essaye pour voir.
mavariable = Cstr(mavariable)

 Drikce 06
0
microshit Messages postés 16 Date d'inscription lundi 10 juillet 2006 Statut Membre Dernière intervention 3 août 2006
17 juil. 2006 à 16:26
bonjour,!
Merci de ta réponse
en fait le probleme c'est que la fonction est déclarée en adodb et que je veux retourner une variable de type string par "return". Donc en fait c'est l'inverse de ce que tu m'as dit qu'il faudrait que je fasse.Merci encore
0
pymaster Messages postés 74 Date d'inscription vendredi 14 juillet 2006 Statut Membre Dernière intervention 14 août 2006
17 juil. 2006 à 16:30
Bonjour,

Je ne comprend pas trop ton prob ?

Est ce que ta fonction retourne la connexion ??

    Si oui alors ça devrait fonctionner mais ta fonction devrait être de type OleDbConnection

function getConn(param) as OleDbConnection
    dim co as OleDbConnection
code ...

return co
end function

Si ta fonction retourne seulement l'état de la connexion ( ouvert ou non ) alors tu peut retourner un Boolean et faire le code suivant

Return (ObjetConnexion.State = ConnectionState.Open)

Si la connexion est ouverte il te retournera true

PY
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
microshit Messages postés 16 Date d'inscription lundi 10 juillet 2006 Statut Membre Dernière intervention 3 août 2006
17 juil. 2006 à 16:38
salut PY,
en fait j'ai un objet de type adodb.
Moi j'ai mis sa pour savoir si ma connesion était ouverte :
resultat=MySQL_Conn.State.ToString
le probleme c'est que dans l'entete de ma fonction c'est du type "adodb.connection". la valeur de resultata est dc du type boolean. et il me dite une valeur de type boolean ne peut pas etre convertit en type adodbconnection.
Est ce que j'ai été plus clair ou pas? avec ta solution sa me fait le meme probleme.
0
pymaster Messages postés 74 Date d'inscription vendredi 14 juillet 2006 Statut Membre Dernière intervention 14 août 2006
17 juil. 2006 à 16:48
Je ne comprend pas ce que tu geux dire par "l'entête de ma fonction"
Est ce que tu parle de la valeur de retour ?

Ma deuxième solution devrait ressembler à celle-ci

public function isConnected(Param) as boolean
    bla bla bla
    Return (ObjetConnexion.State = ConnectionState.Open)
end function

Note : Moi j'utilise le ConnectionState.Open car je fonctionne avec OLEDB mais quand j'utilisais ADOBD avec VB6 la propriété State fonctionnais, il faudrais juste que tu test la valeur qu'elle retourne pour tester la validité. Si tu ne comprend pas mon return en une ligne il peut aussi être écris de cette façon 

If ( ObjetConnexion.State = ConnectionState.Open ) then
    return true
else
    return false
end if

De ce que je peux comprendre de ton prob on dirait que ta valeur de retour est ton objet de connexion

 public function getBD(param) as adodb.connection

est ce que je me trompe ??

Aussi il me semble que ADOBD n'est plus présent dans VB.NET sauf si tu l'importe de VB6 en compatibilité non ?

PY
0
microshit Messages postés 16 Date d'inscription lundi 10 juillet 2006 Statut Membre Dernière intervention 3 août 2006
17 juil. 2006 à 16:57
il est tjs présent dans VB.NET
et non tu ne te trompa pas. c'est exactement ça!!!


Mais j'ai cherché mais cela je ne peux pas l'écrire. : ConnectionState.Open


alors j'ai écrit cela mais il faut maintenant que je convertisse

la valeur de "Tostring" en integer ( state )


Return (MySQL_Conn.State = MySQL_Conn.State.ToString)javascript:Insert_Emoticon('/imgs2/smile_sad.gif');

Est ce qu'il ya une fin????
0
microshit Messages postés 16 Date d'inscription lundi 10 juillet 2006 Statut Membre Dernière intervention 3 août 2006
17 juil. 2006 à 17:07
je viens de trouver peut etre quelque chose mais je ne sais pas comment l'utiliser...
En effet, "connection.state" renvoit une variable integer, ainsi suffirait il de savoir a quoi correspond chaque par rapport al'état de la connection?
quelqu'un connait l'état?
0
microshit Messages postés 16 Date d'inscription lundi 10 juillet 2006 Statut Membre Dernière intervention 3 août 2006
17 juil. 2006 à 17:08
apparement on s'est croisé, je te remercie pour cette information PY!!
je me suis enfin sorti de ça!!
bonne fin de journée et a bientot!!
0
Rejoignez-nous