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

Bases de données Delphi Discussion :

Procédures stockées SQL Server, récupération sous Delphi


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Par défaut Procédures stockées SQL Server, récupération sous Delphi
    Bonjour,

    il m'est impossible de relier un Datasource à une procédure stockée, y etes vous arrivé?
    il m'est impossible "d'ajouter tout les champs" comme il est possible avec toute requête normal, le message d'erreur m'annonce :

    CommandText ne renvoie pas un ensemble de résultats

    je dois absolument résoudre ce problème en procédure stockées!

    voici le code d'une de mes procédures

    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
     
    ALTER procedure [dbo].[Ffournisseur_produit_tot] (@produit_id int output,
    										   @produit_libelle varchar(20)output,		
    										   @conditionnement_libelle varchar(20) output,
    										   @produit_quantite varchar(20) output)
     
    as 
    begin
     
     
    select @produit_id = (select produit_id from produit where produit_id=1)
     
     
    declare C1 cursor for
    select P.produit_ID ,P.produit_libelle, C.conditionnement_libelle, P.produit_quantite
    from produit P, conditionnement C
    where C.conditionnement_id=P.conditionnement_id
    order by produit_libelle;
     
    open C1;
     
    while @@fetch_status=0 
    	begin
    	fetch next from C1 into @produit_id, @produit_libelle, @conditionnement_libelle, @produit_quantite; 
    	end
     
    	deallocate C1;
    end
    donc c'est une procédures censée retourner plusieurs champs! mais je n'arrive pas a récupérer ces champs sous Delphi!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Par défaut
    erf personne ne peut m'aider?

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 635
    Billets dans le blog
    65
    Par défaut
    perso je ne connait pas SQL serveur . moi je recupére les valeurs de mes procedure via un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM MAPROCEDURE(:PARAM1,:PARAM2)
    j'ai déjà vu un post à peu prés identique sur le sujet , cherche un peu dans les messages , le ne date pas de plus un ou deux mois :lol


    il etait de toi je le croyais résolu .

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 188
    Par défaut
    tu ne peux pas faire une fonction ?
    et faire un select * from mafonction ?

    De plus, déclare dans ta procédure une tabe avec les données
    tu fais un insert a chaque passage du fetch

    apres pour renvoyer les valeurs il faut faire,
    soit un return table (fonction)
    soit un un select @table

    Là on n'a pas la procédure complete je pense

    Regarde d'abord ce que la procédure te renvoie dans sql avant d'essayé sous delphi, car c'est la meme requete : exec proc var1 ...

    @+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Par défaut
    j'ai essayé quelque chose qui fonctionne :

    sous SQL je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ALTER procedure [dbo].[Ffournisseur_produit_tot] 
    as
    begin
    select P.produit_ID ,P.produit_libelle, C.conditionnement_libelle, P.produit_quantite
    from produit P, conditionnement C
    where C.conditionnement_id=P.conditionnement_id
    order by produit_libelle;
    end
    Et sous Delphi ca fonctionne de la même manière, que les Query normales. Pour le passage de paramètre tout fonctionne aussi!
    Du coup j'ai plus besoin de curseurs, ni de fetch!
    Par contre je sais pas si c'est correct

  6. #6
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Citation Envoyé par rophi Voir le message
    Par contre je sais pas si c'est correct
    A priori je dirais oui, mais ne connaissant pas trop SQL Server...

    Cependant je me demande pourquoi tu passes par une procédure stockée alors qu'une simple requête doit suffire ?

    @+

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

Discussions similaires

  1. [PDO] Récupération retour d'une procédure stockée SQL Server
    Par July171292 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/11/2014, 14h50
  2. connection sql server 2000 sous delphi 6.0
    Par nkouo dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/08/2007, 15h15
  3. Réponses: 1
    Dernier message: 04/03/2007, 15h40
  4. [procédure stockée][SQL server]Extraction, réinsertion
    Par caelum dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/02/2006, 07h59
  5. Procédures stockées SQL Server compatibles avec MySQL ?
    Par Nen'S dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 24/01/2006, 19h18

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