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

MFC Discussion :

Accès proc stock par ADO.


Sujet :

MFC

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2003
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Accès proc stock par ADO.
    Bonjour,

    J'essaye de récupérer un résultat d'une procédure stockée sur ma base oracle via ADO et l'exemple de classe donné ici :
    http://www.codeproject.com/database/CAAAdoClass1.asp

    Mais j'obtiens (sur la commande Execute() donc avec la connexion à la base OK) le message d'erreur suivant :
    "ORA-24328 : Illegal attribute value".

    Ma procédure fait un RETURN NUMBER tout simple sans autres traitements.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    CADODatabase* pAdoDb = new CADODatabase();
    CString strConnection = _T("");
     
    strConnection = _T("Provider=MSDASQL.1;Persist Security Info=False;User ID=MON_USER;Data Source=SupervReport;Password=monpass;");
     
    pAdoDb->SetConnectionString(strConnection);
     
     
    if(pAdoDb->Open())
    {
     
    CADOCommand* pAdoCommand = new CADOCommand(pAdoDb,"MaFonction");
    CADOParameter pParamRetVal(CADORecordset::typeInteger, sizeof(int), CADOParameter::paramReturnValue); 
     
    pAdoCommand->AddParameter(&pParamRetVal);
     
    CADORecordset* pRecordSet = new CADORecordset(pAdoDb);
     
    if(pRecordSet->Execute(pAdoCommand)) // L'erreur se déclanche ICI !
    {
    ...
    }
     
    }

    Avez vous une idée sur la chose ?
    Merci de votre aide.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 51
    Points : 17
    Points
    17
    Par défaut
    bonjour,

    dsl , je pe pas te répondre en revanche j'aimerais savoir si tu est arriver a afficher les resulta du requete select dans une list box ou dans otre chose?

  3. #3
    Candidat au Club
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    alors moi je galère pour afficher les retour de ma procédure stokée...
    en revanche le execute se lance bien :


    _RecordsetPtr m_pRec;
    _CommandPtr m_pCmd;

    m_pCmd->ActiveConnection= m_pConn;
    m_pCmd->CommandText = "sp_MaProcStock"
    m_pCmd->CommandType = adCmdStoredProc;
    m_pRec = m_pCmd->Execute( NULL, NULL, adCmdStoredProc );

    c'est une prodécude stockée à laquelle je passe un paramètre, elle l'insére dans la table voulue et doit me retourner l'id ainsi généré...
    impossible je récupére toujours 0

    même en déclarant un paramètre de retour :
    m_pCmd->Parameters->Append(m_pCmd->CreateParameter("@Test", adChar, adParamInput, 50, 'nouvelEnregistrement'));


    et en essayant de le récupérer :
    m_pCmd->Parameters->GetItem("@Test")->Value


    un conseil ?

Discussions similaires

  1. Réponses: 11
    Dernier message: 14/01/2009, 12h03
  2. [ASE]proc stock qui traite un tableau de données et les execute par batch
    Par 461219 dans le forum Adaptive Server Enterprise
    Réponses: 5
    Dernier message: 13/02/2008, 20h35
  3. Réponses: 2
    Dernier message: 30/03/2007, 14h42
  4. Réponses: 2
    Dernier message: 13/12/2006, 13h58
  5. Réponses: 2
    Dernier message: 16/10/2003, 17h17

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