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 :

Erreur exécution procedure stockée sqlServer 2005


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 229
    Points : 60
    Points
    60
    Par défaut Erreur exécution procedure stockée sqlServer 2005
    Bonjour messieurs,

    j'ai implémenté une procédure stockée dans ma base Sql Server 2005 qui se présente comme suit:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    Create PROCEDURE Enregistrer_DemandeClt
    @fk_Client int ,@fk_Travail_A_Faire int ,
    @fk_Prestation int,@fk_CentreProfit int ,@fk_RespActivite int ,@fk_Transport int ,
    @fk_Action int,@fk_Fournisseur int ,@fk_TypeAchat int ,
    @Num_Devis varchar(30) ,@Montant_HT decimal(18,0),@Production_Cost decimal(18,0)
    ,@Gross_Margin decimal(18,0),
    @Material_Cost decimal(18,0),@Facturation_Situation decimal(18,0),
    @Resultat varchar(30),
    @Num_Facture varchar(30) ,@Enregistree_Par int ,@Transmis_A int ,
    @Observation varchar(30),@Observation2 varchar(30),
    @Date_Piece datetime,@Date_Demande datetime,@Date_Souhaitee datetime ,
    @Date_Limite_Client datetime,
    @Date_Limite_ABB datetime,@Date_Limite datetime,@Date_Traitement datetime,
    @Date_Remise datetime ,@Date_BC datetime,
    @Date_Fact_Previ datetime,@Date_Livr_Reelle datetime,@Date_Livraison datetime,
    @Date_Transmission datetime,
    @Date_Saisie datetime,@Interlocuteur varchar(30),@Tel_Interlocut varchar(10),
    @Fax_Interlocut varchar(10),
    @Besoins_exprimes varchar(30),@Besoins2 varchar(30),@Besoins3 varchar(30)
    AS
    BEGIN
    INSERT INTO Client
    (
    fk_Client,fk_Travail_A_Faire,fk_Prestation,
    fk_CentreProfit,fk_RespActivite,fk_Transport,fk_Action,fk_Fournisseur,fk_TypeAchat, Num_Devis,Montant_HT,Production_Cost,Gross_Margin,Material_Cost,
    Facturation_Situation,Resultat,
    Num_Facture,Enregistree_Par,Transmis_A,Observation,Observation2,
    Date_Piece,Date_Demande,Date_Souhaitee,Date_Limite_Client,Date_Limite_ABB,Date_Limite,Date_Traitement,Date_Remise,Date_BC,
    Date_Fact_Previ,Date_Livr_Reelle,Date_Livraison,Date_Transmission,
    Date_Saisie,Interlocuteur,Tel_Interlocut,Fax_Interlocut,
    Besoins_exprimes,Besoins2,Besoins3)
    VALUES
    (
    --@pk_DemandeClt ,
    @fk_Client ,@fk_Travail_A_Faire ,
    @fk_Prestation,@fk_CentreProfit ,@fk_RespActivite,@fk_Transport ,
    @fk_Action ,@fk_Fournisseur,@fk_TypeAchat,
    @Num_Devis  ,@Montant_HT,@Production_Cost
    ,@Gross_Margin ,@Material_Cost ,@Facturation_Situation,
    @Resultat ,@Num_Facture ,@Enregistree_Par ,@Transmis_A  ,
    @Observation,@Observation2,
    @Date_Piece ,@Date_Demande,@Date_Souhaitee ,
    @Date_Limite_Client,@Date_Limite_ABB,@Date_Limite ,@Date_Traitement,
    @Date_Remise ,@Date_BC,@Date_Fact_Previ,@Date_Livr_Reelle,@Date_Livraison,
    @Date_Transmission,
    @Date_Saisie,@Interlocuteur,@Tel_Interlocut,
    @Fax_Interlocut ,
    @Besoins_exprimes,@Besoins2,@Besoins3 
    )
    END
    et voici mon code delphi7 qui exécute la procedure :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    DM.StoredProc.ProcedureName:='dbo.Add_DemandeClt';
     
    DM.StoredProc.Parameters.ParamByName('@fk_Client').Value:=self.fk_Client;
    DM.StoredProc.Parameters.ParamByName('@fk_Travail_A_Faire').Value:=self.fk_Travail_A_Faire;
    DM.StoredProc.Parameters.ParamByName('@fk_Prestation').Value:=self.fk_Prestation;
    DM.StoredProc.Parameters.ParamByName('@fk_CentreProfit').Value:=self.fk_CentreProfit;
    DM.StoredProc.Parameters.ParamByName('@fk_RespActivite').Value:=self.fk_RespActivite;
    DM.StoredProc.Parameters.ParamByName('@fk_Transport').Value:=self.fk_Transport;
    DM.StoredProc.Parameters.ParamByName('@fk_Action').Value:=self.fk_Action;
    DM.StoredProc.Parameters.ParamByName('@fk_Fournisseur').Value:=self.fk_Fournisseur;
    DM.StoredProc.Parameters.ParamByName('@fk_TypeAchat').Value:=self.fk_TypeAchat;
    DM.StoredProc.Parameters.ParamByName('@Num_Devis').Value:=self.Num_Devis;
    DM.StoredProc.Parameters.ParamByName('@Enregistree_Par').Value:=self.Enregistree_Par;
    DM.StoredProc.Parameters.ParamByName('@Transmis_A').Value:=self.Transmis_A;
    DM.StoredProc.Parameters.ParamByName('@Observation').Value:=self.Observation;
    DM.StoredProc.Parameters.ParamByName('@Observation2').Value:=self.Observation2;
    DM.StoredProc.Parameters.ParamByName('@Date_Piece').Value:=self.Date_Piece;
    DM.StoredProc.Parameters.ParamByName('@Date_Demande').Value:=self.Date_Demande;
    DM.StoredProc.Parameters.ParamByName('@Date_Souhaitee').Value:=self.Date_Souhaitee;
    DM.StoredProc.Parameters.ParamByName('@Date_Limite_Client').Value:=self.Date_Limite_Client;
    DM.StoredProc.Parameters.ParamByName('@Date_Limite_ABB').Value:=self.Date_Limite_ABB;
    DM.StoredProc.Parameters.ParamByName('@Date_Limite').Value:=self.Date_Limite;
    DM.StoredProc.Parameters.ParamByName('@Date_Traitement').Value:=self.Date_Traitement;
    DM.StoredProc.Parameters.ParamByName('@Date_Remise').Value:=self.Date_Remise;
    DM.StoredProc.Parameters.ParamByName('@Date_BC').Value:=self.Date_BC;
    DM.StoredProc.Parameters.ParamByName('@Date_Fact_Previ').Value:=self.Date_Fact_Previ;
    DM.StoredProc.Parameters.ParamByName('@Date_Livr_Reelle').Value:=self.Date_Livr_Reelle;
    DM.StoredProc.Parameters.ParamByName('@Date_Livraison').Value:=self.Date_Livraison;
    DM.StoredProc.Parameters.ParamByName('@Date_Transmission').Value:=self.Date_Transmission;
    DM.StoredProc.Parameters.ParamByName('@Date_Saisie').Value:=self.Date_Saisie;
    DM.StoredProc.Parameters.ParamByName('@Interlocuteur').Value:=self.Interlocuteur;
    DM.StoredProc.Parameters.ParamByName('@Tel_Interlocut').Value:=self.Tel_Interlocut;
    DM.StoredProc.Parameters.ParamByName('@Fax_Interlocut').Value:=self.Fax_Interlocut;
    DM.StoredProc.Parameters.ParamByName('@Besoins_exprimes').Value:=self.Besoins_exprimes;
    DM.StoredProc.Parameters.ParamByName('@Besoins2').Value:=self.Besoins2;
    DM.StoredProc.Parameters.ParamByName('@Besoins3').Value:=self.Besoins3;
     
    DM.StoredProc.ExecProc();
    Quand j'exécute j'ai le message d'erreur suivant :
    StoredProc arameter @fk_Client not found
    Je ne comprend pas la source du problème.
    Je souhaite que vous m'aidiez à resoudre ce probleme.
    Merci pour votre compréhension.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    Je ne pratique pas les procédures stockées mais en Delphi, ParamByName utilise toujours un : comme marquer de paramètre !
    le : est présent dans le SQL mais absent dans le code

    Comme c'est une procédure stockées, je pense qu'il n'y a pas de : et que le code est un peu plus complexe, je te conseille de lire la documentation à ce sujet : Utilisation de paramètres avec les procédures stockées

    Regarde CreateParameter, une fonction spécifique à ADO qui remplace le standard TParam.Create(); pour les composants DBExpress, IBX ou BDE
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. gestion erreurs procedure stockée sqlserver
    Par allanibu dans le forum Bases de données
    Réponses: 9
    Dernier message: 02/12/2008, 23h07
  2. Erreur dans procedure stockées
    Par freud dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/07/2007, 11h13
  3. Erreur creation procedure stockées (Firebird1.5+delphi 7)
    Par nassoft dans le forum Bases de données
    Réponses: 3
    Dernier message: 18/05/2007, 12h30
  4. pb procedure stockée SQLServer
    Par pppeeezzz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/10/2006, 14h01
  5. Modifier une procedure stockée SQL 2005
    Par cpofm dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/10/2006, 07h57

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