FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV Mobile (précédentes versions)
→
Procedure stockée et passage de paramètre
Procedure stockée et passage de paramètre
Débuté par DEKPON Renaud Silvèr, 26 sep. 2020 16:12 - 1 réponse
Connectez-vous…
DEKPON Renaud Silvèr
#1
Membre enregistré
5 messages
Posté le 26 septembre 2020 - 16:12
Bonjour, j'utilise les procedures stockées sur windev mobile 23 actuellement. Jusque là je n'ai pas vraiment eu de difficulté a passe les paramètres et a récupérer les résultats.
Seulement depuis hier je cale sur un bugg, car oui je ne pense pas que ce soit lié à mon code.
Dans le code d'initialisation de mon projet, il y a une procédure stockée denommee init_tables qui reçoit une chaine de caractères en paramètre.
Il fonctionnait sans pb. Hier j'ai essayé de le bidouiller pour qu'il puisse me servir a autre chose. Jai commencé par avoir des erreurs de type "Dans le cadre dun passage par référence, un element de type XX ne peut être converti vers le type YYY". Fatigué j'ai fini par abandonner l'idée et ramener la procédure a son etat normal c'est à dire qu'il reçoit de nouveau un seul parametre de type chaine de caractère que je lui fourni.
Mais à l'exécution la même erreur continue d'apparaitre et me dit de manière spécifique qu'un élément de type entier sur 8 octets ne peut être converti vers le type date alors que ni ma procedure stockée ni le code appelant n'utilisent de variable de type date ou entier sur 8 octets. J'ai recompilé le projet, rparé, supprimé et redéclaré les variables sans succès. Je ne sais plus quoi faire. Des idées?
Code appelant la procédure :
s
Id
est un chaîne
=
SysIMEI
(
""
)
SI
s
Id
=
""
ALORS
//Android 10 et superieur
SI
HNbRec
(
settinglocal
)
=
0
ALORS
//On a pas encore créé d'id
s
Id
=
GénèreMotDePasse
(
15
)
settinglocal.idgenere
=
s
Id
HAjoute
(
settinglocal
)
SINON
//on en a déjà généré
HLitPremier
(
settinglocal
)
s
Id
=
settinglocal.idgenere
FIN
FIN
s
Res
est une chaîne
=
""
// sres=HExécuteProcédure(MaConnexion1,init_all_tables,UnicodeVersAnsi(sid))//crée toutes les tables
s
Res
=
HExecuteProcedure
(
MaConnexion1
,
init_all_tables
,
UnicodeVersAnsi
(
s
Id
)
)
Code de ma procedure stockée :
Procedure
init_all_tables
(
Sadressemac
est un chaîne
)
D1
,
d
2
sont des
Dates
D1
=
DateSys
(
)
d
2
=
D1
..
Jour
+
1
//DDATE EST UNE DATE=ChaîneVersDate(sDa,"JJ/MM/AAAA")
HCréationSiInexistant
(
"*"
)
//Today
HExécuteRequête
(
REQ_
verifie_exec_tache_planifiee
,
hRequêteDéfaut
,
D1
)
SI
HNbRec
(
REQ_
verifie_exec_tache_planifiee
)
=
0
ALORS
//C'est le premier lancement de la journée. On crée les tâches
declenche_creation_des_taches_journalieres
(
D1
)
FIN
//Demain
HExécuteRequête
(
REQ_
verifie_exec_tache_planifiee
,
hRequêteDéfaut
,
d
2
)
SI
HNbRec
(
REQ_
verifie_exec_tache_planifiee
)
=
0
ALORS
//C'est le premier lancement de la journée. On crée les tâches
declenche_creation_des_taches_journalieres
(
d
2
)
FIN
RENVOYER
VERIFIE_premier_demarrage
(
)
+
RC
+
verifie_adresse_mac
(
Sadressemac
)
Signaler
0
0
DEKPON Renaud Silvèr
#2
Membre enregistré
5 messages
Posté le 27 septembre 2020 - 10:10
Honte de le dire, le problème était finalement a mon niveau. Dans le code de la procédure stockée. ligne
D2=D1..jour+1
Apparemment ce type d'incrémentation n'est pas encore disponible en procédure stockée.
Mais après PC soft aurait pu trouver un meilleur moyen de formuler cette erreur plutôt que de faire croire que l'erreur était au niveau du passage de paramètres.
Signaler
0
0
→ Revenir à WINDEV Mobile (précédentes versions)
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte