PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Procédure stockée SQL serveur
Procédure stockée SQL serveur
Débuté par Frédéric LAMBOUR, 24 fév. 2006 16:17 - 4 réponses
Posté le 24 février 2006 - 16:17
J'ai le code SQL suivant dans une requète de mon projet qui fait appel à une
procédure stockée :

Search_Administrateur {Param1}

J'ai vite compris que pour untiliser HexecuteRequete() j'était obligé
d'utiliser HRequeteSansCorrection. Voilà mon code :

HExécuteRequête(ReqTestSearch_Administrateur,
BDCataFR3_Eurotax_AutoSurBOURSE_SiteWS, hRequêteSansCorrection)
POUR TOUT ReqTestSearch_Administrateur
TableAjouteLigne(TB_Table1,
ReqTestSearch_Administrateur.ADM_IDAdministrateur,
ReqTestSearch_Administrateur.ADM_Reference)
FIN

Tant que je ne passe pas mon paramètre tout est nickel !

Maintenant si je tente ceci :

ReqTestSearch_Administrateur.Param1 = 2
HExécuteRequête(ReqTestSearch_Administrateur,
BDCataFR3_Eurotax_AutoSurBOURSE_SiteWS, hRequêteSansCorrection)
POUR TOUT ReqTestSearch_Administrateur
TableAjouteLigne(TB_Table1,
ReqTestSearch_Administrateur.ADM_IDAdministrateur,
ReqTestSearch_Administrateur.ADM_Reference)
FIN

Je plante avec le message suivant :

Erreur à la ligne 1 du traitement Clic sur B_Bouton1.
La rubrique Hyper File ReqTestSearch_Administrateur.Param1 est inconnue.
Fichier <ReqTestSearch_Administrateur> inconnu dans l'analyse
<K:\DMS\ReferencielEurotax\BDCataFR3_Eurotax_Auto.wdd>, ou requête ou vue
non initialisée.

Informations techniques
Projet : ReferencielEurotax
Dump de l'erreur du module <WD100VM.DLL> <10.00Nu>.
- Appel WL :
Traitement de <FenTestFL.B_Bouton1>, ligne <1>, thread <0>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 1022
- Code erreur WD55 : 18
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ?
La rubrique Hyper File ReqTestSearch_Administrateur.Param1 est inconnue.
Fichier <ReqTestSearch_Administrateur> inconnu dans l'analyse
<K:\DMS\ReferencielEurotax\BDCataFR3_Eurotax_Auto.wdd>, ou requête ou vue
non initialisée.
- Infos de debug :
iehf01
Récupération d'un ItemData à partir de son nom complet <Fichier>.<Rubrique>
- Infos attachées :
EIT_PATHWDD : <K:\DMS\ReferencielEurotax\BDCataFR3_Eurotax_Auto.wdd>
EIT_LOGICALTABLENAME : <ReqTestSearch_Administrateur>
EIT_DATEHEURE : 24/02/2006 15:19:05
EIT_PILEWL :
Clic sur B_Bouton1 (FenTestFL.B_Bouton1), ligne 1
- Identifiant dans le .err : 1022


Une idée (sans passer par HExecuteRequeteSQL()) ?
Posté le 27 février 2006 - 11:43
J'ai trouvé : il faut obligatoire passer les paramètres dans
HExécuteRequête()


"Frédéric LAMBOUR" <PasDeSpam_f.LAMBOUR@everlog.com> a écrit dans le message
de news:43ff1286$1@news.pcsoft.fr...

J'ai le code SQL suivant dans une requète de mon projet qui fait appel à

une
procédure stockée :

Search_Administrateur {Param1}

J'ai vite compris que pour untiliser HexecuteRequete() j'était obligé
d'utiliser HRequeteSansCorrection. Voilà mon code :

HExécuteRequête(ReqTestSearch_Administrateur,
BDCataFR3_Eurotax_AutoSurBOURSE_SiteWS, hRequêteSansCorrection)
POUR TOUT ReqTestSearch_Administrateur
TableAjouteLigne(TB_Table1,
ReqTestSearch_Administrateur.ADM_IDAdministrateur,
ReqTestSearch_Administrateur.ADM_Reference)
FIN

Tant que je ne passe pas mon paramètre tout est nickel !

Maintenant si je tente ceci :

ReqTestSearch_Administrateur.Param1 = 2
HExécuteRequête(ReqTestSearch_Administrateur,
BDCataFR3_Eurotax_AutoSurBOURSE_SiteWS, hRequêteSansCorrection)
POUR TOUT ReqTestSearch_Administrateur
TableAjouteLigne(TB_Table1,
ReqTestSearch_Administrateur.ADM_IDAdministrateur,
ReqTestSearch_Administrateur.ADM_Reference)
FIN

Je plante avec le message suivant :

Erreur à la ligne 1 du traitement Clic sur B_Bouton1.
La rubrique Hyper File ReqTestSearch_Administrateur.Param1 est inconnue.
Fichier <ReqTestSearch_Administrateur> inconnu dans l'analyse
<K:\DMS\ReferencielEurotax\BDCataFR3_Eurotax_Auto.wdd>, ou requête ou vue
non initialisée.

Informations techniques
Projet : ReferencielEurotax
Dump de l'erreur du module <WD100VM.DLL> <10.00Nu>.
- Appel WL :
Traitement de <FenTestFL.B_Bouton1>, ligne <1>, thread <0>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 1022
- Code erreur WD55 : 18
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ?
La rubrique Hyper File ReqTestSearch_Administrateur.Param1 est inconnue.
Fichier <ReqTestSearch_Administrateur> inconnu dans l'analyse
<K:\DMS\ReferencielEurotax\BDCataFR3_Eurotax_Auto.wdd>, ou requête ou vue
non initialisée.
- Infos de debug :
iehf01
Récupération d'un ItemData à partir de son nom complet

<Fichier>.<Rubrique>
- Infos attachées :
EIT_PATHWDD : <K:\DMS\ReferencielEurotax\BDCataFR3_Eurotax_Auto.wdd>
EIT_LOGICALTABLENAME : <ReqTestSearch_Administrateur>
EIT_DATEHEURE : 24/02/2006 15:19:05
EIT_PILEWL :
Clic sur B_Bouton1 (FenTestFL.B_Bouton1), ligne 1
- Identifiant dans le .err : 1022


Une idée (sans passer par HExecuteRequeteSQL()) ?

Posté le 28 février 2006 - 13:49
Bonjour.

J'ai essayé de suivre ton exemple, voici ce que j'ai fait:

Contenu de reqStroredProcedure:

BD_copy {Param1}

Et dans mon code:

Param1 est un entier = 9
HExécuteRequête(reqStoredProcedure,MaConnexion,hRequêteSansCorrection,Param1)

Malheureusement ce la ne fonctionne pas, voici l'erreur qui m'est reprochée:

Erreur à la ligne 25 du traitement Clic sur cmdSynchronize2.
Vous avez appelé la fonction HExécuteRequête.
Erreur de l'accès OLE DB.
Numéro d'erreur = 170129

Echec de l'ouverture du fichier.

Détail de l'erreur système :

Description = Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
Source = Microsoft OLE DB Provider for SQL Server
Error Number = -2147217887

A noter que je développe en Windev Mobile, avez vous une solution à mon problème ou un autre moyen d'appeler une procédure stockée? Merci.
Posté le 28 février 2006 - 18:42
Frédéric LAMBOUR a écrit :
J'ai le code SQL suivant dans une requète de mon projet qui fait appel à une
procédure stockée :

Search_Administrateur {Param1}

J'ai vite compris que pour untiliser HexecuteRequete() j'était obligé
d'utiliser HRequeteSansCorrection. Voilà mon code :

HExécuteRequête(ReqTestSearch_Administrateur,
BDCataFR3_Eurotax_AutoSurBOURSE_SiteWS, hRequêteSansCorrection)
POUR TOUT ReqTestSearch_Administrateur
TableAjouteLigne(TB_Table1,
ReqTestSearch_Administrateur.ADM_IDAdministrateur,
ReqTestSearch_Administrateur.ADM_Reference)
FIN

Tant que je ne passe pas mon paramètre tout est nickel !

Maintenant si je tente ceci :

ReqTestSearch_Administrateur.Param1 = 2
HExécuteRequête(ReqTestSearch_Administrateur,
BDCataFR3_Eurotax_AutoSurBOURSE_SiteWS, hRequêteSansCorrection)
POUR TOUT ReqTestSearch_Administrateur
TableAjouteLigne(TB_Table1,
ReqTestSearch_Administrateur.ADM_IDAdministrateur,
ReqTestSearch_Administrateur.ADM_Reference)
FIN

Je plante avec le message suivant :

Erreur à la ligne 1 du traitement Clic sur B_Bouton1.
La rubrique Hyper File ReqTestSearch_Administrateur.Param1 est inconnue.
Fichier <ReqTestSearch_Administrateur> inconnu dans l'analyse
<K:\DMS\ReferencielEurotax\BDCataFR3_Eurotax_Auto.wdd>, ou requête ou vue
non initialisée.

Informations techniques
Projet : ReferencielEurotax
Dump de l'erreur du module <WD100VM.DLL> <10.00Nu>.
- Appel WL :
Traitement de <FenTestFL.B_Bouton1>, ligne <1>, thread <0>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 1022
- Code erreur WD55 : 18
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ?
La rubrique Hyper File ReqTestSearch_Administrateur.Param1 est inconnue.
Fichier <ReqTestSearch_Administrateur> inconnu dans l'analyse
<K:\DMS\ReferencielEurotax\BDCataFR3_Eurotax_Auto.wdd>, ou requête ou vue
non initialisée.
- Infos de debug :
iehf01
Récupération d'un ItemData à partir de son nom complet <Fichier>.<Rubrique>
- Infos attachées :
EIT_PATHWDD : <K:\DMS\ReferencielEurotax\BDCataFR3_Eurotax_Auto.wdd>
EIT_LOGICALTABLENAME : <ReqTestSearch_Administrateur>
EIT_DATEHEURE : 24/02/2006 15:19:05
EIT_PILEWL :
Clic sur B_Bouton1 (FenTestFL.B_Bouton1), ligne 1
- Identifiant dans le .err : 1022


Une idée (sans passer par HExecuteRequeteSQL()) ?


Salut,
une bonne solution c'est déjà de tester le compte rendu de
HexecuteRequete!

Par contre j'utilise HExécuteRequêteSQL et je crois, sauf erreur de ma
part, que c'est obligatoire pour les appels aux PS...
de plus, il faut déclarer une source de donnée (ici Masource)

voici la syntaxe que j'utilise sans problèmes Sous sqlS:

exec=
HExécuteRequêteSQL(MaSource,MaConnexion,hRequêteSansCorrection,"dbo.calcindice
"+Quote(Dep)+","+Quote(AnTr)+","+Reseausql)
SI PAS exec ALORS
Erreur("Erreur grave d’initialisation de la requête"+RC+HErreurInfo())
et je n'ai jamais eu de problèmes...

@+++

--
[Bernard Vessiot]
34980 Saint Gély du Fesc
Posté le 17 mars 2006 - 17:16
Ca va pas t'aider mais j'ai exactement le meme message d'erreur en utilisant l'assistant de requete... Esperons que quelqu'un nous vienne en aide...