PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → SQLExec
SQLExec
Iniciado por Stéphane D., 03,may. 2019 14:52 - 7 respuestas
Miembro registrado
230 mensajes
Publicado el 03,mayo 2019 - 14:52
Bonjour à tous,
Depuis ce matin, j'essaie de faire un nouveau projet avec une connexion server sql.
Dans le code d'initiation j'ai cela :
Num_Conn est un entier=SQLConnecte(gsBdd_server,gsBdd_user, gsBdd_pwd,gsBdd_name,ODBC)

SI Num_Conn=0 ALORS
SQLInfoGene()
Erreur("Numéro erreur : "+SQL.Erreur,SQL.MesErreur)
FinProgramme
FIN

Jusque là tout va bien.
Ensuite dans mes fenêtres je mets ce code pour interroger ma bdd :
reqsql est une Source dede Données
reqtxt est une chaîne

reqtxt = [
MA REQUETE SQL
]


SI PAS SQLExec(reqtxt,reqsql) ALORS
SQLInfoGene()
Erreur("Numéro erreur : "+SQL.Erreur,SQL.MesErreur)
SQLFerme(reqsql)
RETOUR
SINON
Info("ok")
FIN

SQLFerme(reqsql)

Et là bim... sa plante et j'ai le message :
Vous avez appelé la fonction SQLExec.
Le passage du paramètre 2 a provoqué une erreur.
Le fichier, la vue ou la requête '_SOURCE_reqsql_1' n'est pas connu.

Juste pour information, j'utilise ce code depuis très longtemps et cela n'a jamais planté.

Merci d'avance de votre aide.

--
Stéphane.
Publicado el 03,mayo 2019 - 15:04
Bonjour,

Première ligne du 2nd code : "Source dede Donnée".
même si je doute fortement que ça soit la cause.
Miembro registrado
299 mensajes
Publicado el 03,mayo 2019 - 15:58
J'utilise le même principe mais différemment
LO_Recordset est une chaîne = "RS"
PC_SQL est une chaîne = "Select * from unetable"
SI SQLExec(PC_SQL, LO_Recordset) ALORS
Miembro registrado
2.682 mensajes
Publicado el 03,mayo 2019 - 16:33
Bonjour,

le 2ème paramètre de SQLExec doit être une chaine et non une source de données

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
230 mensajes
Publicado el 07,mayo 2019 - 11:19
Philippe sur ce coup de te mets 0/20.... :p
Voici la solution :
https://blogs.pcsoft.fr/fr/nommage-automatique-sources-donnees-choix-utiliser-projets/281474976710805/read.awp

Bonne journée à tous et merci encore pour votre aide.

--
Stéphane.
Miembro registrado
2.682 mensajes
Publicado el 07,mayo 2019 - 12:23
A priori depuis la 24 tu peux utiliser cette notation que je ne connaissais pas d'ailleurs. Donc merci.

Cependant je confirme ce que j'ai dit, le nom de la requête doit être une chaîne. Donc je me remets 20/20 :D

Extrait de l'aide:





--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
299 mensajes
Publicado el 07,mayo 2019 - 14:33
Accessoirement je me permets de rappeler que la réponse que j'avais apportée donnait aussi la solution.

Je ne comprends pas l'intérêt de ce nouveau paramétrage du nom de requête.
WD est complètement alourdi de ce genre de raccourcis ou gadgets qui n'apportent souvent pas grand-chose
Publicado el 07,mayo 2019 - 15:50
Question bête...
Pourquoi tu définis pas ta connexion avec
HDécritConnexion()

après tu l'ouvres et tu la fermes avec
HOuvreConnexion()
HFermeConnexion()

et enfin tu exécutes tes requêtes avec
HExécuteRequêteSQL()

en utilisant la signature qui déclare la connexion et la constante
hRequêteSansCorrection

J'avoue que je trouve ça plus intuitif mais bien sur ce n'est pas obligatoire...