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

NHibernate Discussion :

NHibernate select inaccessible


Sujet :

NHibernate

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 70
    Points : 50
    Points
    50
    Par défaut NHibernate select inaccessible
    Bonjour,

    J'ai beaucoup de mal à trouver un titre clair pour mon problème. Voici une requête que j'essaie d'exécuter dans mon mapping NHibernate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <sql-query name="spInventoryMove">
      <![CDATA[
        declare @intAdjID int
     
        exec spInventoryMove :ProID :LocID
     
        select * from tblAdj where adjID = @intAdjID
       ]]>
        <return class="V2K.WMS.Data.InventoryAdjData, V2K.WMS.Data"/>
      </sql-query>
    Le problème est quand j'appelle cette requête dans mon 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
    26
    27
    28
     
     RepositoryExceptionWrapper.Wrap(GetType(), delegate()
                {
                    IDbCommand command = CurrentSession.Connection.CreateCommand();
     
                    command.CommandText = "spInventoryMove";
                    command.CommandType = CommandType.StoredProcedure;
     
                    IDbDataParameter parameter = command.CreateParameter();
                    parameter.ParameterName = "@ProID";
                    parameter.Value = ProID;
                    command.Parameters.Add(parameter);
     
                    parameter = command.CreateParameter();
                    parameter.ParameterName = "@LocID";
                    parameter.Value = LocID;
                    command.Parameters.Add(parameter);
     
                    //command.ExecuteNonQuery();
                    IDataReader reader = command.ExecuteReader();
                    if (reader.Read())
                    {
                        result = new InventoryAdjData();
                        result.Id = reader[0];
                    }
     
                    reader.Close();
                });
    Seconde methode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    RepositoryExceptionWrapper.Wrap(GetType(), delegate()
    {
       IQuery query = CurrentSession.GetNamedQuery("spInventoryMove");
     
       query.SetString("ProID", ProID);
       query.SetNullableInt32("LocID", LocID);
     
       result = query.UniqueResult<InventoryAdjData>();
    });
    Je n'ai que le retour de la stored procedure, ce que j'aimerais c'est récupérer le select... comment puis-je faire ? (dans SQL Server, j'ai 2 résultats : le retour de la stored proc et celui du select).

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Regarde du côté de la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IDataReader.NextResult();
    et tu trouveras ton bonheur.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 70
    Points : 50
    Points
    50
    Par défaut
    J'ai tout essayé et je n'ai pas trouvé de solution (j'avais bien entendu pensé au NextResult() sans succès )... jusqu'à ce que le développeur qui s'occupe des stored procedures me dise "Je peux te changer les retours si tu veux" -_-

    Mais merci tout de même pour l'aide. Pour ceux qui se retrouveraient dans la même situation la seule méthode que j'ai trouvé est de changer le retour de la procédure.

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Est ce que tu avais activé MARS dans ta chaine de connexion ?

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    La réponse est que tu devrais créer un mapping d'entité et spécifier la SP qui s'en occupe.

    Ca ne peut donc pas marcher, il faut juste que le select soit dans la SP et tu n'as pas besoin de déclarer des paramétres.

    De l'aide

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. Balise select inaccessible
    Par Draakh dans le forum jQuery
    Réponses: 4
    Dernier message: 26/01/2015, 15h55
  3. [VB6] [Crystal] Selection enregistrement
    Par littlecow dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/01/2005, 13h08
  4. TEdit : selection du texte et autre fonction
    Par Odulo dans le forum Composants VCL
    Réponses: 5
    Dernier message: 01/08/2002, 14h27
  5. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44

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