PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Problème avec SQLLitCol
Problème avec SQLLitCol
Débuté par Michèle, 11 aoû. 2025 19:26 - 2 réponses
Membre enregistré
25 messages
Posté le 11 août 2025 - 19:26
Bonjours ;
J’ai ce bout de code de vérification d’une clé d’activation crée sous windev 25 j’interroge une BDD distante MYSQL qui se trouve sur mon site il génère l’erreur SQLGetCol' should have returned a value. Alors que j’ai vérifier que SQL.NbLig=1 je ne comprend pas l’origine de cette erreur est que j’ai raté quelque chose dans mon code ou quoi ? voici le code utilisé
ResSQL = SQLExec("SELECT statut FROM fiche_licence WHERE numero_licence = '" + sCleLicence + "'", "REQ1")
SI ResSQL = Vrai ALORS
SQLPremier("REQ1")
Info("La Valeur de SQL.NbLig : ",SQL.NbLig)
SI SQL.NbLig = 0 ALORS
Info("Clé invalide.")
SQLFerme("REQ1")
SQLDéconnecte()
RETOUR
FIN
// sStatut est une chaîne = SQLLitCol("REQ1", "statut")
sStatut = SQLLitCol("REQ1", "statut")
Info("La Valeur Du Statut :",sStatut)
SQLFerme("REQ1")

// Déjà vendue ?
SI sStatut = "vendue" ALORS
Info("Clé déjà utilisée.")
SQLDéconnecte()
RETOUR
FIN
SINON
Info("Erreur SELECT clé : " + ErreurInfo(errComplet))
SQLDéconnecte()
RETOUR
FIN

// =========================
// 4. Vérifier si PC déjà activé avec autre licence
// =========================
ResSQL = SQLExec("SELECT cle_licence FROM licences WHERE id_pc = '" + sID_PC + "' AND cle_licence <> '" + sCleLicence + "'", "REQ2")
SI ResSQL = Vrai ALORS
SQLPremier("REQ2")
SI SQL.NbLig > 0 ALORS
Info("Ce PC est déjà activé avec une autre licence.")
SQLFerme("REQ2")
SQLDéconnecte()
RETOUR
FIN
SQLFerme("REQ2")
SINON
Info("Erreur SELECT PC : " + ErreurInfo(errComplet))
SQLDéconnecte()
RETOUR
FIN

// =========================
// 5. Mise à jour clé (UPDATE)
// =========================
ResSQL = SQLExec("UPDATE fiche_licence SET statut = 'vendue' WHERE numero_licence = '" + sCleLicence + "'", "REQ3")
SI ResSQL = Faux ALORS
Info("Erreur mise à jour clé : " + ErreurInfo(errComplet))
SQLDéconnecte()
RETOUR
FIN

// =========================
// 6. Insertion dans licences (INSERT)
// =========================
sInsert est une chaîne ="INSERT INTO licences (cle_licence, nom, adresse_office, telephone, id_pc, active, date_activation, email_client) " +...
"VALUES ('" + sCleLicence + "', '" + sNom + "', '" + sAdresse + "', '" + sTelephone + "', '" + sID_PC + "', 1, NOW(), '" + sEmail + "')"
ResSQL = SQLExec(sInsert, "REQ4")
SI ResSQL = Faux ALORS
Info("Erreur insertion licences : " + ErreurInfo(errComplet))
SQLDéconnecte()
RETOUR
FIN
Membre enregistré
955 messages
Posté le 11 août 2025 - 20:09
Bonjour,
Le deuxième paramètre de "SQLLitCol" devrait être le Numéro de la colonne (donc 1 dans votre cas), Non ?
Cdlt
Message modifié, 11 août 2025 - 20:10
Posté le 11 août 2025 - 20:43
Cédric_34 a écrit :
Bonjour,
Le deuxième paramètre de "SQLLitCol" devrait être le Numéro de la colonne (donc 1 dans votre cas), Non ?
Cdlt


Merci pour la réponse, vu que j'ai fait un SELECT sur le champs statut alors la réponse est effectivement 1