Dans c..."> Dans c...">

Connecter Application Windev Mobile a MYSQL (CRUD Créer, Lire, Modifier, Supprimer)

AUTEUR Code-Codage ~ 03/04/2022
Programmation WINDEV Mobile Professionnel

Dans ce nouveau tutoriel, je vous propose de découvrir ensemble comment connecter une Application créer en WinDev Mobile à la base de données MYSQL, et par ce même pratique nous allons aborder les 04 opérations de base (CRUD)... 

=========================================================== 

Copier - Coller ce lien dans votre navigateur

Télécharger le fichier php4WX-9.2.0.14 : http://code-codage.com/forum 

Télécharger le projet : https://www.dropbox.com/s/tg0ppa0awxkqmx7/CRUD_AppMobile.rar?dl=0

 ===========================================================

Fichier CnxDatabase

CnxDatabase est une Classe

// Hériter les propriété de la classe c_Php4WX
hérite c_Php4WX

// Déclaration des variable public
PUBLIC
m_sServeur, m_sUtilisateur, m_sMotdePasse, m_sBasedeDonne sont des chaînes

FIN


PROCÉDURE Constructeur()

///////////////////////////////////////////////
//Initialisation dans le constructeur
//////////////////////////////////////////////

//Initialisation des constantes de classe c_php4WX

:TypeBase = "PDOMySQL"
:CleCryptage = "CLE_CRYPTAGE"
:CryptRetour = Faux
:CrypteReq = Vrai

:methodeZip = Faux
:dataHexa = Faux
:modeUTF8Entree = Vrai
:modeUTF8Sortie = Faux

:charset = "utf-8"
:alphabet = alphabetUTF8

//Initialisation des variable de connexion

m_sServeur = "http://127.0.0.1/php4wd.php"
m_sUtilisateur = "root"
m_sMotdePasse = ""
m_sBasedeDonne = "inscription"

//Connexion a la base de donnée
mySQLConnecte(m_sServeur,m_sUtilisateur,m_sMotdePasse,m_sBasedeDonne)

//Vérification de la connexion
SI mySQLErreur ALORS
Info(mySQLGetErrorMessage())
FIN

CRUD

CRUD est une Classe

// Hériter la classe CnxDatabase (classe de connexion à la base de donnée)
hérite CnxDatabase

//Déclaration des variables PRIVE
PRIVÉ
m_sNom est une chaîne
m_sEmail est une chaîne
m_sMdp est une chaîne
m_xPhone est un numérique

// Déclaration de la variable requeteSQL
PUBLIC
m_sRequetSQL est une chaîne

FIN

PROCÉDURE Constructeur(nomUtilisateur, emailUtilisateur, mdpUtilisateur, phoneUtilisateur)

////////////////////////////////////////////////////////
//con troller tout les champs, obligatoire qu'il soit non vide
////////////////////////////////////////////////////////

SI nomUtilisateur = "" ET emailUtilisateur = "" ET mdpUtilisateur = "" ET phoneUtilisateur = "" ALORS
// Affichage d'un message avertissement
Info("Veuillez remplir les champs")
FIN

////////////////////////////////////////////////////////
//Initialisation des paramètre du constructeur
////////////////////////////////////////////////////////

//Suppression des caractères dans le nom
m_sNom = SansCaractère(nomUtilisateur,"?!*$£¤^<>")

//Vérification si l'adresse mail est valide (Méthode d'expression régulière)
SI VérifieExpressionRégulière(emailUtilisateur, "[-.a-z0-9]+[@][-.a-z0-9]+[.][a-z]{2,4}") = Vrai ALORS

m_sEmail = emailUtilisateur

FIN

//Hash le mot de passe (Crypte le mot de passe)
m_sMdp = HashChaîne(HA_SHA_160, SansEspace(mdpUtilisateur))

//Vérifie si le numéro est numérique

SI PAS EstNumérique(phoneUtilisateur) ALORS
Info("Numéro phone invalide")
SINON
m_xPhone = phoneUtilisateur
FIN


PROCÉDURE Enregistrement()

////////////////////////////////////////////////////////
//Partie manipulation des données dans la BDD
////////////////////////////////////////////////////////

// Vérification si l'adresse mail existe déjà

//Préparation de la requête
m_sRequetSQL = "SELECT * FROM utilisateurs WHERE email = '" + m_sEmail + "'"

//Exécution de la requête
mySQLExec(m_sRequetSQL, 1)

//Compte le nombre des ligne, si l'on trouve un enregistrement
SI mySQLGetNumRows(1) = 1 ALORS
Info("Cette adresse mail est déjà utilisée")
SINON
// Préparation de la requête et enregistrement dans la BDD
m_sRequetSQL = "INSERT INTO utilisateurs (nom, email, pass, phone) VALUES('"+ m_sNom +"', '"+ m_sEmail +"', '"+ m_sMdp +"' , '"+ m_xPhone +"')"
mySQLExec(m_sRequetSQL, 1)
Info("Enregistrement fait avec succès")
FIN

Bouton Enregistrer


//Créer un objet
//Instancier la classe
clNouvelEnregistrement est un CRUD(SAI_Nom, SAI_Adresse_mail,SAI_Mot_de_passe, SAI_Téléphone)
clNouvelEnregistrement.Enregistrement()

Procédure fenêtre App

PROCÉDURE MaFenêtre()
//Créer un objet
//Instancier la classe
clConnexionDatabase est une CnxDatabase


Réponses