|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Loïc MonetDéveloppeur informatique Inscription : août 2011 Messages : 2 ![]() |
Boujour,
Je développe une application sur Windev 15 qui récupère des données sur une base oracle et doit mettre à jour une base hyperfile c/s. Je n'ai pas créé d'analyse et souhaite uniquement faire des maj par SQL. La connexion à la base oracle et la récupération des données fonctionne correctement par contre je n'arrive pas a exécuter une requete sur la base hyperfile c/s. a priori la connexion est correcte.. Voici mon code pour la base hyperfile c/s : Execution_Correct est un booléen Ma_Requete_SQL est une chaîne MaSourceDonnee est une Source de Données MaConnexion est une Connexion //Description de la connexion MaConnexion..Utilisateur = "admin" MaConnexion..MotDePasse = "Password01" MaConnexion..Serveur = "rmfrchaa006:4900" MaConnexion..BaseDeDonnées = "Gaz_Base" MaConnexion..Provider = hAccèsHFClientServeur MaConnexion..Accès = hOLectureEcriture MaConnexion..InfosEtendues = "Infos étendues" //-> optionnel MaConnexion..OptionsCurseur = hCurseurClient Execution_Correct = HOuvreConnexion(MaConnexion) SI PAS Execution_Correct ALORS Erreur("Erreur Ouverture Connexion HyperFileSQL HOuvreConnexion : " + HErreurInfo()) FIN Execution_Correct = HChangeConnexion("Test_Vehicule",MaConnexion) SI PAS Execution_Correct ALORS Erreur("Erreur HChangeConnexion Hyperfile Client Serveur : " + HErreurInfo()) FIN Ma_Requete_SQL = "SELECT * FROM Test_Vehicule;" Execution_Correct = HExécuteRequêteSQL(MaSourceDonnee,MaConnexion,Ma_Requete_SQL) SI PAS Execution_Correct ALORS Erreur("Erreur HyperFileSQL HExécuteRequêteSQL : " + HErreurInfo()) FIN // Deconnexion Hyperfile SQL C/S HFermeConnexion(MaConnexion) Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juillet 2002 Messages : 1 216 ![]() |
Bonjour
Quand tu dis que tu n'arrives pas à exécuter une requête, tu as un message d'erreur ? Pour du code source utilise la balise [CODE] (bouton #) |
|
|
00
|
|
|
#3 | |||
|
Membre chevronné
![]() Said pesage electronique Inscription : novembre 2009 Messages : 482 ![]() |
Bonjour, Ton code un peu modifié :
Citation:
|
|||
|
03
|
|
|
#4 | |
|
Membre Expert
![]() Inscription : juillet 2002 Messages : 1 216 ![]() |
Citation:
EDIT : je complète ma question : MaConnexion est le nom d'une variable de type Connexion, pourquoi tu mets ça dans une chaîne ? Avec un peu de chance et la permissivité de Windev ça pourrait ne pas planter, mais pourquoi modifier quelque chose qui est correct par ça ? Ma_Requete_SQL est le nom d'une variable qui contient le texte de la requête, pourquoi tu mets ça dans une chaîne ??? |
|
|
|
10
|
|
|
#5 |
|
Membre confirmé
![]() Arnaud BenhamdineDirecteur technique Inscription : octobre 2004 Messages : 157 ![]() |
|
|
|
00
|
|
|
#6 | |||
|
Membre chevronné
![]() Said pesage electronique Inscription : novembre 2009 Messages : 482 ![]() |
Citation:
Code :
Ma_Requete_SQL est une chaine="SELECT * FROM Test_Vehicule" Je ne vois pas où est le probleme(avec ou sans guillemets pour "MaConnexion"). J'aimerais bien que mealornon nous donne le résultat s'il a testé le code. |
|||
|
02
|
|
|
#7 | ||
|
Membre Expert
![]() Inscription : juillet 2002 Messages : 1 216 ![]() |
miripesage
tu ne vois où est le problème dans ton code ? : Code :
Code :
HExécuteRequêteSQL(MaSourceDonnee,"MaConnexion","SELECT * FROM Test_Vehicule") Il n'y a pas besoin de faire de test, on aura un beau message "Erreur dans le code SQL de le requête ... mot inattendu : Ma_Requete_SQL" Mais je pense que c'est certainement une faute de frappe Pour "MaConnexion" ça marche comme je l'ai dit, vu le coté permissif de Windev, mais ce n'est pas logique de modifier du code correct par une syntaxe obsolète, c'est tout |
||
|
|
10
|
|
|
#8 |
|
Invité de passage
![]() Loïc MonetDéveloppeur informatique Inscription : août 2011 Messages : 2 ![]() |
Merci pour toutes vos remarques,
Tout d'abord effectivement (honte à moi!) le passage de la variable objet en chaine n'est pas hortodoxe... Une excuse n"anmoins je débute avec windev.. Bon j'ai résolu le problème en créant une analyse sur la base HPFS... là il accepte d'exécuter la requete malgré la laideur du code.. l'application possède un Timer qui lit des données dans une base oracle et met à jour les données d'une base HPFS... Il doit certainement être possible d'exécuter sur une base HPFS un code effectuant une connexion à la base, exécutant une requête SQL et fermant la connexion tout simplement. Si quelqu'un a du code merci d'avance... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com