FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV Mobile 2024
→
Procedure stockée et passage de paramètre
Procedure stockée et passage de paramètre
Débuté par DEKPON Renaud Silvèr, 27 sep. 2020 09:42 - 3 réponses
Connectez-vous…
DEKPON Renaud Silvèr
#1
Membre enregistré
5 messages
Posté le 27 septembre 2020 - 09:42
Bonjour, j'utilise les procédures 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 dénommée init_tables qui reçoit une chaine de caractères en paramètre.
Il fonctionnait sans problème. 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 d'un passage par référence, un élément 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 état normal c'est à dire qu'il reçoit de nouveau un seul paramètre 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 procédure stockée ni le code appelant n'utilisent de variable de type date ou entier sur 8 octets. Pour m'assurer que je n'étais toujours pas la cause, j'ai même supprimé entièrement le fait que la procédure stockée reçoive un paramètre et j'ai essayé de l'exécuter sans paramètre. Toujours la même erreur.
J'ai recompilé le projet, réparé, supprimé et dé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:11
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
Popoy
#3
Membre enregistré
3 344 messages
Popularité : +93 (137 votes)
Posté le 27 septembre 2020 - 22:49
C'est aussi la propriété .. jour .. mois et .. année
Qui sont mal géré sous Android
J'ai remplacé cela par une procédure globale
Pour les incrémentation je passe par des entier ( date vers entier)
Puis incrémentation
Puis entier vers date
Cela est plus sûr et bug moins
Signaler
0
0
Renaud
#4
Posté le 02 octobre 2020 - 02:22
Wep c'est une bonne idée.
Signaler
0
0
→ Revenir à WINDEV Mobile 2024
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