Bonjour ,
Je fais quelques essais de windev et j'utilise windev express 20 récemment téléchargé .
je tente de me connecter à une base mysql server 5.0 64 bits
Après moult tâtonnements et recherches sur ce forum et ailleurs sur internet j'ai pu activer l'accès natif en plaçant en C:\WinDev 20 Express\Programmes\Framework\Win32x86 une librairie libmySQL.dll 32 bits téléchargée pour l'occasion. Il s'agit de la version 5.5.9.0 qui fait 3.80 Mo.
Je peux me connecter à ma base mysql que Windev peut analyser en affublant le nom des tables du préfixe EXPRESS et en nombre limité ( limitation de la version Express ).
Je peux lire dans la base en utilisant cette procédure
Cela fonctionne , j'ai bien la boite info me signalant qu'un enregistrement a été trouvé, mais comment le lire ? je ne trouve pas la syntaxe correcte de HLitPremier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 sSQL est une chaîne ANSI hresult est un booléen res est un booléen sSQL = "SELECT Nom_Analyse FROM EXPRESS_biol_analyse WHERE Code_analyse = 6;" hresult = HOuvreConnexion(MaConnexion1) //MaConnexion1 a été paramétrée dans windev à la création du projet res = HExécuteRequêteSQL("ReqTest",sSQL) Info("La requête contient " + HNbEnr("ReqTest") + " enregistrements.")
J'ai également voulu tenter la connexion par SQLConnecte , afin d'apprécier les différences entre ces deux modes , d'ailleurs lequel vous semble préférable ?.
J'ai donc écrit la procédure suivante :
A l'exécution j'obtiens bien l'info que l'accès natif a réussi , que l'exécution de la requête a réussi , mais ensuite j'ai l'info que la requête contient 0 enregistrements et l'instruction " Info (SQLPremier("REQ1")) " provoque l'erreur suivante :
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 NumConnexion est un entier NumConnexion = SQLConnecte("localhost", "login", "mdp", "mabase", "MySQL") //dans la vraie procédure j'ai mis les paramètres corrects SI NumConnexion > 0 ALORS Info("connexion_acces_natif réussie") SINON Info("connexion_acces_natif échouée") FIN sSQL est une chaîne ANSI res est un booléen sSQL = "SELECT Nom_Analyse FROM biol_analyse WHERE Code_analyse = 6;" res = SQLExec(sSQL, "REQ1") SI res = Vrai ALORS Info (" l'exécution de la requête semble avoir réussi ") SINON Info ( "la requête a renvoyé une erreur ") FIN Info("La requête contient " + SQL.NbLig + " enregistrements.") Info (SQLPremier("REQ1")) SQLFerme("REQ1")
Merci aux contributeurs qui pourront m'éclairer. Je m'intéresse à Windev dans le but de développer une application interfacée avec cette base, y accéder est donc fondamental pour moi
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 Erreur à la ligne 35 du traitement Procédure globale SQL_direct_natif. La fonction 'SQLPremier' aurait dû renvoyer une valeur. ----- Informations techniques ----- Projet : EXPRESS_on essaye_Windev Appel WL : Traitement de 'Procédure globale SQL_direct_natif' (COL_ProcéduresGlobales.SQL_direct_natif), ligne 35, thread 0 Que s'est-il passé ? La fonction 'SQLPremier' aurait dû renvoyer une valeur. Code erreur : 1005 Niveau : erreur fatale (EL_FATAL) Dump de l'erreur du module 'wd200vm.dll' (20.0.301.2 EXPRESS). Identifiant des informations détaillées (.err) : 1005 Informations de débogage : Fonction (7,183) Informations supplémentaires : EIT_PILEWL : Procédure globale SQL_direct_natif (COL_ProcéduresGlobales.SQL_direct_natif), ligne 35 EIT_DATEHEURE : 03/05/2016 19:38:57
T.Chatenet
Partager