IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème avec adodb.recordset


Sujet :

VB.NET

  1. #1
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 929
    Points
    55 929
    Billets dans le blog
    131
    Par défaut Problème avec adodb.recordset
    Bonjour

    Sous VisualBasic.net, je souhaite utiliser un adodb.recordset.

    J'ai le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    rs.Open("select * from tcauses", Con, _
        ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
     
    rs.AddNew()
    rs!cauid = mID ' Erreur sur cette ligne
    qui provoque l'erreur suivante:
    Erreur 1 La résolution de surcharge a échoué, car aucun 'Fields' accessible n'accepte ce nombre d'arguments. D:\Données\Visual Studio 2005\Projects\FGAA\FGAA\cCause.vb 37 17 FGAA

    Question: Comment puis-je adresser directement un champ d'un objet ado.recordset?

    Merci dès à présent pour vos lumières

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    tu le trouves ou ton adodb ?
    tu ne peux pas utiliser ado.NET ?

    sinon rs.fields("") n'existe pas ?
    ou encore rs.fields(0)
    ...

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 929
    Points
    55 929
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Merci pour ta réponse...

    Je trouve adodb... après avoir coché la référence ADO 2.7 dans les références, onglet COM...

    1. Je pourrais utiliser ado.net, mais je trouve que c'est lourd à mettre en oeuvre (et je ne connais pas bien) pour ce que je fais, car je travaille avec des classes en couche métier. Mes classes, "héritées" de VB, utilisaient adodb qui fonctionnait très bien sous vb6.

    En fait, j'ai partiellement solutionné mon problème en utilisant effectivement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mRs.fields("CauID") = ...
    Merci pour ta solution

    Mais, car il y a un mais, la chaine de connexion que je passais avant en VB6 renvoie une erreur en vb.net
    L'exception System.Runtime.InteropServices.COMException n'a pas été gérée par le code utilisateur
    ErrorCode=-2147467259
    Message="[Microsoft][ODBC Driver Manager] Data source name too long"
    Source="Microsoft OLE DB Provider for ODBC Drivers"...
    Donc, je suis en fait à peine plus avancé.

    Pour utiliser ado.net (car je ne suis pas rétif au changement et à l'innovation, loin de là), j'ai cherché des bons tutos, mais (je suis peut-être ignare) sans trouver des exemples concrets avec des classes métier....

    Merci d'avoir pris du temps pour moi

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    le but de .net c'est de travailler avec .net ^^
    moi j'ai pas encore testé ado.net non plus, je viens de vb6 aussi
    mais j'ai cru voir des tutos interressants

    et à priori il y a soit le dataset (à utiliser avec un adapter) qui permet de gérer facilement les liens entre objets et données
    et le datareader qui est comme un recordset de l'époque

    cherche par là si tu ne l'as pas déjà lu en entier : http://plasserre.developpez.com/vsommair.htm

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 929
    Points
    55 929
    Billets dans le blog
    131
    Par défaut
    RE...

    Suite à ta réponse, j'ai fouillé un peu plus dans les tutos et j'ai trouvé une contribution de "leduke" ici.

    Elle est succincte, mais je pense pouvoir m'en inspirer pour démarrer en ado.net.

    Cela étant, je comprends bien que ado.net, c'est pour .net...

    Perso, je trouve intéressant de travailler avec une couche "métier" et donc des classes qui contiennent les propriétés (identiques aux champs des tables) et des méthodes (addnew, update) car je peux contrôler assez finement les saisies et modifs. (En fait, mes jeux de classes pourraient être considérés comme des "dataset" très simples, mais avec des possibilités de contrôle, de gestion d'erreurs et d'évènements que je n'ai pas trouvé dans ado.net ...). Jusqu'ici, je n'ai pas trouvé d'exemples convaincants avec ado.net qui utilisent une couche métier comme je le fais... Mais peut-être que ma méthode n'est pas adaptée à .net. Mais comme je n'ai pas encore vu de méthode avec .net qui me donne la souplesse que j'ai avec mes classes, ...

    Quoi qu'il en soit, merci encore, et merci à "leduke"..

Discussions similaires

  1. Problème avec un recordset
    Par david71 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 08/02/2008, 14h53
  2. Problème avec le recordset
    Par mademoizel dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 04/03/2007, 12h28
  3. Problème avec un RecordSet
    Par Oberown dans le forum ASP
    Réponses: 4
    Dernier message: 04/01/2007, 11h59
  4. Problème avec ADODB.Stream
    Par Poussy-Puce dans le forum ASP
    Réponses: 1
    Dernier message: 04/10/2006, 17h27
  5. Problème avec ADODB.Recordset
    Par Edouard Kaiser dans le forum ASP
    Réponses: 13
    Dernier message: 09/08/2005, 17h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo