Département Informatique Page 1/2
TDatabase
Le composant Database (onglet BDE) représente une connection à une base de données. Utilisez-le en remplissant les champs suivants :
– AliasName : nom de l'alias ODBC à utiliser (par ex. tp)
– DatabaseName : nom interne de la base (par ex. questionnaire)
– LoginPrompt : false (indique que l'on ne souhaite pas un prompt pour le login)
– Connected à true (en dernier) pour se connecter à la base.
TTable
Le composant TTable permet de représenter une table de la base de données. Nous avons donc besoin d'autant d'instances de TTable que de tables dans notre base. Les champs à initialiser sont les suivants (dans l'ordre) :
– DatabaseName : nom interne (identique à celui de TDataBase::DatabaseName, par exemple questionnaire)
– TableName : nom de la table concernée (à choisir)
– Active à true pour « ouvrir » la table.
– Eof (type bool) indique si l'on est positionné sur le dernier enregistrement
– Bof (type bool) indique si l'on est positionné sur le premier enregistrement Les méthodes utiles sont les suivantes :
– First() permet de se positionner sur le 1èr enregistrement
– Last() permet de se positionner sur le dernier enregistrement
– Next() permet de faire avancer l'enregistrement courant
– RecordCount() permet de connaître le nombre d'enregistrements
– FieldByName( nom_champ) permet d'accéder à un champ à partir de son nom (type AnsiString). La valeur renvoyée est un TField
– Close() et Open() permettent de fermer et d'ouvrir la table
TField
TField représente un champ de la base de données. Sa valeur est celle correspondant à l'enregistrement courant de la table concernée. Ses propriétés interessantes sont :
– IsNull (type bool) : indique si le champ est nul ou non
– Value (type Variant) : donne la valeur du champ
– AsString (type AnsiString) : donne la valeur du champ sous forme d'une chaîne
– AsInteger (type int) : donne la valeur du champ sous forme d'un entier (si possible)
TDataSource
Un composant TDataSource permet de faire le lien entre une table ou une requête et des composants
Département Informatique Page 2/2 d'affichage/édition de données. Il faut donc autant d'instances de TDataSource que d'instances de TTable que l'on veut éditer. La seule propriété à modifier est TDataSource::DataSet qui doit correspondre à une table (ou une requête) du module de données. Ceci n'est pas utile sur les tables
"internes" qui ne sont pas affichées à l'utilisateur.
Composants visuels d'édition des données (TDBEdit, etc...)
Dans une fenêtre, utilisez les composants de l'onglet ContrôleBD pour afficher/éditer les champs de la base. Placez les composants nécessaires pour pouvoir lire, modifier, créer, supprimer et éditer des enregistrements de chacune des tables (faites des fenetres ou des panels séparés). Utilisez pour cela les composants TDBEdit, TDBLookupComboBox, etc... en initialisant bien les propriétés
DataSource (liée à un composant DataSource) et DataField (lié à un champ). N'oubliez pas d'inclure dans le fichier .cpp de votre fenêtre le fichier .h du module de données (vous pouvez utiliser le menu Fichier/Inclure l'en-tête d'unité). Le composant TDBNavigator peut être également utile pour parcourir une table.
TQuery
Un composant TQuery représente une requête SQL. Il permet d'interroger via ce langage le SGBD, et ce quel qu'il soit (local comme dBase ou Access, ou distant comme Oracle ou MySQL).
Les propriétés importantes sont :
– DatabaseName : voir TTable, doit être reglé à la même valeur que le Database.
– SQL (type TStrings) : liste de chaînes contenant la requête SQL. Celle-ci peut être paramétrée, dans ce cas le paramètre est précédé de :
– Params : liste des paramètres (s'il y en a) de la reqûete SQL, permet de préciser le type attendu
Les méthodes de TQuery sont les mêmes que celles de TTable (une requête de type SELECT est vue comme la table de ses résultats), avec en plus :
– ParamByName( nom_param ) : donne un paramètre de la requête, de type TParam
TParam
TParam représente un paramètre de requête SQL. Ses propriétés interessantes sont :
– Value (type variant) : donne la valeur du paramètre
– Datatype : indique le type physique du paramètre (à régler à la conception)