[VB6/MySQL] Problème de traitement des champs Tinyint(1)
Bonjour à tous.
Je suis actuellement un train de développer une sorte de "PHPMyAdmin" pour mon entreprise.
Le but de ce programme est de récupérer la liste des tables (ça, aucun problème) et quand on sélectionne une table, afficher la liste des champs et un certain nombre d'informations :
-Nom du champ
-Type et taille du champ
-Clé primaire ?
-Valeur par défaut
-Null autorisé ?
Je récupère la liste des champs grace à "DESCRIBE" :
Code:
1 2 3
| Set RsStr = New ADODB.Recordset
Cd_SQL = "DESCRIBE " & MSFlexGrid2.TextArray(Fgi_tables(Index_tables, 1)) & ";"
RsStr.Open Cd_SQL, ConnexionServ |
Je parcours ensuite mon RecordSet et affiche les informations dans un MSFlexGrid
Code:
1 2 3 4 5 6 7 8 9 10 11
| If Not RsStr.EOF Then
RsStr.MoveFirst
Compteur = 1
Do While Not RsStr.EOF
If Compteur + 1 >= MSFlexGrid3.Rows Then MSFlexGrid3.AddItem ""
MSFlexGrid3.TextArray(Fgi_champs(Compteur, 1)) = Majuscule(RsStr(0)) 'Nom du champ
MSFlexGrid3.TextArray(Fgi_champs(Compteur, 2)) = Majuscule(RsStr(1)) 'Type/Taille du champ
MSFlexGrid3.TextArray(Fgi_champs(Compteur, 3)) = Majuscule(RsStr(3)) 'Primary Key
If IsNull(RsStr(4)) = False Then 'Valeur par défaut
MSFlexGrid3.TextArray(Fgi_champs(Compteur, 4)) = RsStr(4)
End If |
Seulement voilà, quand le champ est un TinyInt(1) et que RsStr(4) vaut Null, la fonction IsNull(RsStr(4)) renvoie "True" quand même... et je ne sais pas comment contourner le problème (à part sauter cette partie quand le champ est un Tinyint(1) mais c'est pas très propre quand même..)
En vous remerciant par avance pour vos réponses ^^