Dans l'exemple 1, il faudrait ajouter "Dans l'inspecteur d'objets, renommez la fiche principale (Form1 par défaut) en MainForm." comme c'est le cas dans l'exemple 2.
Dans III-A :
HostName
192.168.0.1 (dans ma configuration) ou localhost (si votre serveur MySQL tourne sur votre machine)
Pour suivre ce tutoriel, j'utilise localhost mais à quoi correspond exactement "192.168.0.1", je suppose que c'est si la base est sur un site distant. Cela m'intéresserait d'en savoir un peu plus, au cas où ...
IV-A : il faut ajouter l'unité db à la clause uses sinon EDatabaseError n'est pas reconnu.
IV-C : tel que le code est proposé, à l'ouverture du programme, le dbgrid affiche la liste des tables (ce qui est logique puisque c'est la requête sql en cours et que l'événement lbTablesSelectionChange n'est pas encore déclenché).
Pour contourner ce problème, j'ai ajouté la ligne suivante à la fin de la procédure ShowTables :
if SQLQuery1.RecordCount > 0 then lbTables.ItemIndex:= 0;
procedure lbTablesSelectionChange : je pense que la commande "DBGrid1.Clear;" n'est pas utile, je me trompe ?
Telle que la procédure est proposée, j'ai un comportement bizarre : quand je change de table, le grid affiche une première colonne vierge en plus de la table demandée.
Ce n'est pas le cas en inversant les deux premières commandes (close en premier puis clear) ! ou en supprimant le clear.
IV-D : en jouant avec le TDBNavigator, l'utilisation du dernier bouton (refresh) déclenche l'exception
"Must apply updates before refreshing data."
procedure CommitChanges : manque la double apostrophe à "d'enregistrement"
Est-il possible d'avoir un peu plus d'explications sur le fonctionnement des 3 contrôles nécessaires à la connexion du programme à la base de données (j'ai l'habitude d'utiliser sqlite avec un seul composant : TSqlite3Dataset et c'est bien plus simple). D'où notamment ici :
- "if SQLTransaction1.Active" : pourquoi vérifier la transaction et pas la connexion ?
- "SQLQuery1.ApplyUpdates;" : je suppose que cela applique les changements ... mais à quoi ?
- "SQLTransaction1.Commit;" : du coup, que fait cette commande ?
Bon, me voila arrivé au bout de l'exemple 2, encore merci pour cet excellent tutoriel. Reste à travailler sur l'application complète !
2 |
0 |