Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BIBLIOTHEQUE ⇨ mysqllib.bbc

FN_sqlQuery()

DESCRIPTION.


La fonction FN_sqlQuery() envoie une requête à une base de données ouverte.




SYNTAXE.


kcolonnes = FN_sqlQuery( port , requete )




REMARQUES.


port doit être un nombre entier, correspondant à l'identifiant d'un port de communication, ouvert avec le module socklib.bbc.


requete doit être une chaine de caractères exprimant une réquête MySQL valide



L'appel de la fonction FN_sqlQuery() va retourner un nombre entier donnant le nombre de colonnes correspondantes aux données qui vérifient requete. Si est la valeur retournée est négative (<0) cela signifie qu'une erreur est survenue lors de la consultation de la base de données associées à port.



Rappel : pour le bon fonctionnement du module mysqllib.bbc, le module socklib.bbc doit être chargé au préalable.



Important : Il convient de toujours fermer le canal de communication, avec la proédure PROC_closesocket() du module socklib.bbc,  correspondant à la connexion avec la base de données MySQL afin de prévenir toute dégradation de celle-ci.



La fonction FN_sqlConnect() est importée depuis le module mysqllib.bbc. 




EXEMPLE.


REM --- INITIALISATON GENERALE ---

REM --- Importation des modules utiles ---

REM --- les valeurs en italique sont à personnaliser pour un bon fonctionnement ---

INSTALL @lib$ + "socklib.bbc"

INSTALL @lib$ + "mysqllib.bbc"


REM --- Ouverture d'une port de communication ---

kouvert = FN_opensocket( "votre adresse" , votreport )

IF kouvert < 0 THEN

PRINT "Erreur socket"

END

ENDIF


REM --- Connexion à la base de données ---

kversion$ = ""

ketat = FN_sqlConnect( kouvert , "utilisateur" , "code" , "testdb" , kversion$ )

IF ketat <> 0 THEN

PRINT "Erreur de connexion : " ; ketat

PRINT FN_sqlError

END

ENDIF


REM --- Envoi d'une requete à la base de données ---

krequete$ = "SELECT id, name FROM personne"

kcolonnes = FN_sqlQuery( kouvert , krequete$ )

IF kcolonnes < 0 THEN

PRINT "Erreur de requete : " ; kcolonnes

PRINT FN_sqlError

END

ELSE 

PRINT "Nombre de colonnes : " ; kcolonnes

PROC_Lecture( kouvert , kcolonnes )

ENDIF


REM --- Fin du programme ---

PROC_closesocket( kouvert ) : PRINT "Connexion fermee !"

END




REM --- DEFINITIONS DES PROCEDURES PERSONNALISEES ---


REM --- Lecture des donnees ---

DEF PROC_Lecture( Qouvert , Qcolonnes )


REM --- Initialisation des tableaux de données ---

LOCAL LST_Noms$ , LST_Largeurs , LST_Donnees$

DIM LST_Noms$( Qcolonnes )

DIM LST_Largeurs( Qcolonnes )

DIM LST_Donnees$( 100 , 50 )


REM --- Lecture des colonnes ---

kcolonnes = FN_sqlColumns( Qouvert , LST_Noms$() , LST_Largeurs() )

IF kcolonnes < 0 THEN

PRINT "Erreur lecture colonnes"

END

ELSE

PRINT "Colonnes :"

FOR kindex = 1 TO kcolonnes

  PRINT "- " ; LST_Noms$( kindex ) ; " (largeur " ; LST_Largeurs( kindex ) ; ")"

NEXT kindex

ENDIF


REM --- Lecture des donnees des enregistrements ---

klignes = FN_sqlFetch( Qouvert , LST_Donnees$() )

IF klignes < 0 THEN

PRINT "Erreur lors de la lecture des donnees !"

END

ELSE

PRINT "Résultats :"

FOR kligne = 1 TO klignes

FOR kcolonne = 1 TO kcolonnes

PRINT LST_Donnees$( kligne , kcolonne ) ; " " ;

NEXT kcolonne

PRINT

NEXT kligne

ENDIF

PRINT

ENDPROC

Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de

vos remarques, vos commentaires et de vos suggestions.

Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour

TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER

avec un exemple de résolution à télécharger pour vous inspirer.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse