Sur VB.Net en ADO j'ai des erreurs "n'est pas déclaré" [Résolu]

Signaler
Messages postés
12
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
22 février 2010
-
Messages postés
12
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
22 février 2010
-
Bonjour,


Je fais mon premier programme en Visual Basic 2005 express à partir d'un programme VB sur Excel qui fonctionne tres bien sur une base MySQL en ADO.


J'ai recréé les formulaires, copier/coller les procédures, mis les mêmes références et j'ai 2 problèmes que je n'arrive pas à solutionner :



le 1er problème :
J'ai le message d'erreur "n'est pas déclaré" sur toutes les options de ADO comme aduseServer, adOpenStatic, adLockReadOnly, ...
par exemple sur ma procédure de connexion :
 
Public Sub ConnexionBase()      
        cnx = New ADODB.Connection
        cnx.ConnectionString = "DRIVER={MySQL};"&
           "SERVER=XXX.XXX.XXX.XXX;" & " DATABASE=Laura;"
            & "UID=root;PWD=XXXXXX; OPTION=3"
        cnx.CursorLocation = aduseServer
        cnx.Open()
End Sub
aduseServer est en erreur : "Le nom 'aduseServer' n'est pas déclaré"





Le 2ème problème :

Sur ma fonction
 
Public Function RecupNbreService() As Integer
        Dim sqlid As String
        Dim rs As ADODB.Recordset  'Déclarer le RecordSet
        Dim id As Integer



        id = 0
        sqlid = "SELECT Count(Client)FROM Services;"



        Call ConnexionBase()



        rs = New ADODB.Recordset  'Créer une instance de RecordSet
        rs.Open(sqlid, cnx, adOpenStatic, adLockReadOnly)  ' L’ouvrir



        id = rs(0)  ' Accés à la valeur



        rs.Close()  'Fermer le RecordSet
        rs = Nothing  'Libérer la mem.



        Call DeconnexionBase()



        RecupNbreService = id



 End Function

sur la ligne  id = rs(0) j'ai le message d'erreur "Une valeur de type 'ADODB.Field' ne peut pas être convertie en 'Integer'."


Même si je mets CInt(rs(0)) , j'ai le même message. (J'ai la même erreur quand j'ai un format Date ou Boolean).




Avez vous des idées ?


Merci de votre aide.


Amicalement    Laurent

3 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Normalement avec vb2005, il n'est pas necessaire de continuer à utiliser l'ancetre ADO.

Toutes les classes d'accès aux données sont contenues dans le namespace System.Data

Mais ça va certainement t'obliger à revoir une partie de ton code.

Pour tes constantes essaye de les faire précédées de ADODB. --> ADODB.aduseServer

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Bonjour,
Voir démo sur le sujet ici
++
Messages postés
12
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
22 février 2010

Merci beaucoup pour vos réponses rapides.

Amicalement   Laurent