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 :

Vb.net 2005 & Oracle 9i : Récupérer un tableau d'enregistrement à partir d'une procédure stockée


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Par défaut Vb.net 2005 & Oracle 9i : Récupérer un tableau d'enregistrement à partir d'une procédure stockée
    Bonjour tout le monde

    je travaille sur un projet en vb.net 2005 et Oracle 9i, j'ai créé une procédure stockée qui a en paramètre de sortie un tableau d'enregistrement, comment peux je récupérer les éléments de ce tableau dans mon code ?!?

    Merci d'avance pour vos réponses.

  2. #2
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut
    essaye avec cette commande quand tu crées la connection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim sqlCmd As New SqlCommand
     
    sqlCmd = connDist.CreateCommand()
    sqlCmd.CommandText = "nom_de_ta_procedure"
    sqlCmd.CommandType = CommandType.StoredProcedure
    sqlCmd.Parameters.Add(New SqlParameter("nom_du_parametre",SqlDbType.VarChar))
    la derniere ligne est à modifier suivant le type de la donnée que tu veux récupérer

  3. #3
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Par défaut
    en fait c presque ce même code que je fais pour des types simples(varchar, number ...), mais dans mon cas la signature de ma procedure stockée est comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      CREATE OR REPLACE PROCEDURE SYSTEM.ProcFin( Num in varchar2, 
                                            R_Proc out P_Table.INFOS) IS  ....
    je trouve pas les types 'Table' ou 'Record' dans le code suivant: (OracleType. )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                  .Parameters.Add("R_Proc", OracleType.      , 20).Direction = ParameterDirection.Output
    et donc je récupère rien

  4. #4
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut
    n'aurais tu pas oublier l'import !

    Imports system.Data.OracleClient tout en haut de ton code ?

    http://msdn.microsoft.com/fr-fr/libr...8VS.80%29.aspx

    dans ce cas, ce n'est plus du SqlCommand mais du OracleCommand


    OracleType

  5. #5
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Par défaut
    stolx_10 pour tes réponses, en fait j'ai précisé au début que je travaille avec Oracle 9i donc j'ai pas de problème au niveau import des classes convenables...

    Bon, après maintes recherches, j'ai remplacé le paramètre de retour de ma procédure stockée (table de record) par tous les elements de mon tableau même s'ils sont nombreux, parceque jétais pressé pour ce code, là les élements sont de types simples et donc mon code marche bien,

    sinon j'essayerai de trouver une méthode plus pratique pour une prochaine utilisation !!

    Bonne fin de journée à tous !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/07/2014, 09h04
  2. VB.net 2005 et oracle distance
    Par deward dans le forum Connexions aux bases de données
    Réponses: 0
    Dernier message: 07/10/2011, 16h27
  3. [CR XI] Création d'un rapport Crystal à partir d'une procédure stockée Oracle
    Par barthelemy13 dans le forum Connectivité
    Réponses: 5
    Dernier message: 17/05/2010, 15h53
  4. Réponses: 3
    Dernier message: 24/04/2008, 21h56
  5. Réponses: 3
    Dernier message: 04/05/2007, 14h03

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