Vous êtes sur la page 1sur 11

Ma première base InterBase

Par Henry Cesbron Lavau

Date de publication : 5 mars 2001

Dernière mise à jour : 27 avril 2020

Cette page a été écrite pour Delphi 5 en utilisant beaucoup de SQL. Pour développer avec
Delphi 6 en utilisant uniquement l'IDE (Environnement de développement intégré) lisez
l'article Delphi 6 et InterBase 6.
Ma première base InterBase par Henry Cesbron Lavau

I - Introduction..............................................................................................................................................................3
II - Vous abordez InterBase parce que....................................................................................................................... 3
III - Historique.............................................................................................................................................................. 3
IV - Ce qu'il vous faut..................................................................................................................................................3
V - Installation.............................................................................................................................................................. 3
VI - Création d'une database...................................................................................................................................... 4
VII - Création d'une table............................................................................................................................................ 7
VIII - Programme Delphi..............................................................................................................................................8
IX - Pour aller plus loin............................................................................................................................................. 11
X - Mises à jour de l'article....................................................................................................................................... 11

-2-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2013 Henry Cesbron Lavau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
https://hcesbronlavau.developpez.com/IB6Demarrage/
Ma première base InterBase par Henry Cesbron Lavau

I - Introduction

Cet article est né de la constatation suivante : l'information pour la prise en main d'InterBase est dispersée, et la plupart
du temps en anglais. J'ai essayé d'écrire l'article que j'aurais voulu lire. J'espère qu'il vous permettra de démarrer
rapidement avec InterBase, et je reste ouvert à toute suggestion.

InterBase

II - Vous abordez InterBase parce que

1 Vous souhaitez sortir du BDE et passer au client/serveur ;


2 Vous vous préparez à la prochaine version de Delphi (l'arrivée de dbExpress qui supportera InterBase) ;
3 InterBase est passé en open source ;
4 Vous voulez une base de données puissante, fiable et facile à installer et à déployer.

III - Historique

Que ce soit pour l'une ou l'autre de ces raisons, vous serez intéressé d'apprendre qu'InterBase est né des travaux
d'un développeur de Rdb de DEC, Jim Starkey. Souhaitant plus de liberté dans l'évolution de son produit, il créa et
dirigea InterBase Inc. Ashton-Tate acheta la société. Et quand Borland racheta cette dernière, elle devint propriétaire
d'InterBase. Plus récemment Borland/Inprise fit d'InterBase une entité autonome et décide l'été 2000 de mettre
InterBase en open source.

Aujourd'hui, InterBase est donc soutenue d'une part au sein de Source Forge® ou d'IBPoenix, d'autre part par
Borland. Bien que le produit soit devenu libre de droits d'usage et de diffusion, Borland/Inprise continuera de certifier
et de vendre InterBase. C'est une garantie pour ceux qui ne veulent ou ne peuvent prendre le temps de valider les
innovations proposées par l'open source. Tandis que pour ceux qui adoptent la version open source, la présence de
Borland/Inprise est une garantie de convergence et d'intégration du produit. Début octobre 2000, la version vendue
est la 5.5, la version en open source la 6.01 . La présence simultanée d'un groupe d'initiatives open source et d'un
acteur commercial est le meilleur modèle de développement d'un progiciel. Loin de s'opposer, ils s'appuient l'un sur
l'autre et se renforcent. (C'est d'ailleurs le modèle que Linux est en train d'adopter.)

IV - Ce qu'il vous faut

Dans le cadre de cet article, nous allons explorer la version open source. Pour la mettre en œuvre avec les outils de
base que sont InterBase Express et IBConsole, vous devez avoir Delphi 5 Pro ou Entreprise, auquel vous aurez
appliqué la mise à jour (dans le cas où vous en seriez resté à la version d'origine, car la mise à jour est indispensable
pour utiliser la dernière version d'InterBase Express).

Évidemment, il vous faut aussi InterBase 6.01 que vous pouvez télécharger à partir du site de Borland. Pour ma
part, j'utilise la version testée du site IBPhoenix.

InterBase 6 sur CD avec la Documentation est aussi disponible auprès du Centre Officiel de Borland : Diffus'Log
- TEL : 01 34 63 07 01.

V - Installation

Pour installer InterBase sur votre poste de travail, exécutez le fichier IBWin32.exe :

1 Sur la page Select Components, cochez InterBase 6.0 Server for Windows (et laissez coché InterBase 6.0
Client for Windows ainsi que les autres options) ;
2 Sur la page ODBC Components, laissez coché InterBase ODBC 3.0 Driver.

-3-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2013 Henry Cesbron Lavau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
https://hcesbronlavau.developpez.com/IB6Demarrage/
Ma première base InterBase par Henry Cesbron Lavau

En fin d'installation, vous devez rebooter.


Vous apercevrez alors InterBase Guardian en bas à droite de la barre des tâches.

Installez ensuite les dernières versions des composants InterBase Express et IBConsole.

Ouvrez IBConsole (à partir de Démarrer/Programmes/Interbase 6.0/IBConsole), et enregistrez le serveur local par


le menu Server/Register.

Le mot de passe est masterkey (en minuscules).

Cliquez sur OK. L'icône Local Server doit apparaître maintenant dans le volet gauche de l'explorer.

VI - Création d'une database

Toutes les tables, index et autres éléments sont rassemblés en un seul fichier database. L'extension usuelle est
.gdb Vous pouvez créer autant de databases que vous le souhaitez. Généralement un programme accèdera à une
database dans laquelle se trouvent les tables et les index liés. Cliquez sur Local Server. Par menu Server/Login,
ouvrez une connexion avec le serveur. (Le mot de passe est bien entendu masterkey.)

La connexion étant ouverte, vous voyez apparaître Databases dans le volet gauche. Par menu Database/
CreateDatabase, ouvrez le panneau de création de la database.

Indiquez le nom d'alias, ainsi que le nom du fichier (avec l'extension .gdb)

-4-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2013 Henry Cesbron Lavau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
https://hcesbronlavau.developpez.com/IB6Demarrage/
Ma première base InterBase par Henry Cesbron Lavau

Cliquez sur OK. Votre database est créée.

Par la suite, lorsque vous rouvrirez IBConsole, vous double-cliquez directement Local Server, puis
MyInitialDatabase.

Par menu Database/Properties, puis onglet General, mettez l'option Forced Writes à Enabled.

-5-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2013 Henry Cesbron Lavau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
https://hcesbronlavau.developpez.com/IB6Demarrage/
Ma première base InterBase par Henry Cesbron Lavau

Cliquez sur OK.

De retour dans l'explorer d'IBConsole, vous voyez les différentes composantes d'une database :

-6-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2013 Henry Cesbron Lavau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
https://hcesbronlavau.developpez.com/IB6Demarrage/
Ma première base InterBase par Henry Cesbron Lavau

Intéressons-nous à la principale de ces composantes : la table.

VII - Création d'une table

Vous pouvez créer votre première table directement à partir d'IBConsole.


Par menu Tools/Interactive SQL, saisissez la commande suivante :

1. CREATE TABLE MaTable


2. (
3. Pk_Numero INTEGER NOT NULL,
4. Nom VARCHAR(30),
5. Telephone CHAR(16),
6. DateAppel TIMESTAMP,
7. Rappeler CHAR(1),
8. Montant NUMERIC(18,4),
9. CONSTRAINT Pk_Numero PRIMARY KEY (Pk_Numero)
10. )

puis exécutez-la par Query/Execute. Votre première table est créée.


Fermez le panneau Interactive SQL. Pour ne voir que votre table dans la liste, décochez View/System Data.
Double-cliquez sur MATABLE. Vous voyez la structure de votre table. L'onglet Metadata vous montre l'ordre SQL
régénéré automatiquement par IBConsole à partir de la structure de la table. Enfin, l'onglet Data vous permet de
saisir des données.

-7-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2013 Henry Cesbron Lavau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
https://hcesbronlavau.developpez.com/IB6Demarrage/
Ma première base InterBase par Henry Cesbron Lavau

Vous êtes devant une DBGrid. Voyons maintenant comment intégrer une table dans un programme Delphi.

VIII - Programme Delphi

Créez un projet Delphi. Ajoutez un Module de données (DataModule). À partir de l'onglet InterBase Express de la
palette de composants,

-8-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2013 Henry Cesbron Lavau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
https://hcesbronlavau.developpez.com/IB6Demarrage/
Ma première base InterBase par Henry Cesbron Lavau

Modifiez les propriétés suivantes :

Composant Propriété Valeur


IBDatabase1 DatabaseName C:\Program Files\Borland
\Delphi5\Projects\Data
\Initial.gdb
IBDatabase1 DefaultTransaction IBTransaction1
IBDatabase1 SQLDialect 3
IBTransaction1 DefaultDatabase IBDatabase1
IBQuery1 Database IBDatabase1
IBQuery1 SQL SELECT * FROM
MATABLE
DataSource1 DataSet IBQuery1

Sur la Form1, placez à partir de l'onglet ContrôleDB, un composant DBNavigator et un composant DBGrid. Faites
F12 pour afficher le code de la Form1. Dans la liste des uses, ajoutez Unit2. Puis F12 pour revenir sur la Form.
Mettez les propriétés suivantes :

Composant Propriété Valeur


DBNavigator Align alBottom
DBNavigator DataSource DataModule1.DataSource1
DBGrid Align alClient
DBGrid DataSource DataModule1.DataSource1

Dans DataModule1, mettez les propriétés Connected de IBDatabase et Active de IBTransaction et IBQuery à True.

Vous devez voir les données saisies précédemment. Compilez, exécutez.

Votre premier programme d'accès à une database InterBase est prêt !

Pour que votre programme puisse ajouter, modifier ou supprimer des données, nous allons transformer la requête
statique ci-dessus en une requête dynamique : déposez sur le Module de données (DataModule), à partir de l'onglet
InterBase Express le composant

1 IBUpdateSQL

-9-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2013 Henry Cesbron Lavau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
https://hcesbronlavau.developpez.com/IB6Demarrage/
Ma première base InterBase par Henry Cesbron Lavau

Modifiez les propriétés suivantes :

Composant Propriété Valeur


IBQuery1 UpdateObject IBUpdateSQL1
IBUpdateSQL1 (1) DeleteSQL delete from MATABLE
where
PK_NUMERO
= :OLD_PK_NUMERO
IBUpdateSQL1 InsertSQL insert into MATABLE
(PK_NUMERO, NOM,
TELEPHONE,
DATEAPPEL,
RAPPELER, MONTANT)
values
(:PK_NUMERO, :NOM, :TELEPHONE, :DATEAPPEL, :RA
IBUpdateSQL1 ModifySQL update MATABLE
set
PK_NUMERO
= :PK_NUMERO,
NOM = :NOM,
TELEPHONE
= :TELEPHONE,
DATEAPPEL
= :DATEAPPEL,
RAPPELER
= :RAPPELER,
MONTANT = :MONTANT
Where
PK_NUMERO
= :OLD_PK_NUMERO
IBUpdateSQL1 RefreshSQL Select
PK_NUMERO,
NOM,
TELEPHONE,
DATEAPPEL,
RAPPELER,
MONTANT
from MATABLE
where
PK_NUMERO
= :PK_NUMERO
DataSource1 DataSet IBQuery1

(1) Dans la version Delphi 5 Entreprise, les ordres SQL de IBUpdate peuvent être générés automatiquement :

1 Mettez la propriété Active de IBDatabase1 à True. Faites de même avec IBTransaction1 et IBQuery1 ;
2 Cliquez droit sur IBUpdateSQL1 et activez l'Editeur IBUpdateSQL ;
3 Cliquez sur Sélectionner les clés primaires, puis sur Générer le SQL. Tous les ordres SQL
d'IBUpdateSQL1 sont alors automatiquement générés.

Compilez, Exécutez.

Votre première application InterBase fonctionne.

- 10 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2013 Henry Cesbron Lavau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
https://hcesbronlavau.developpez.com/IB6Demarrage/
Ma première base InterBase par Henry Cesbron Lavau

IX - Pour aller plus loin

1 Consultez la documentation (en anglais) livrée avec InterBase 6.0.


2 Consultez les forum Delphi ainsi que Delphi et bases de données de www.developpez.com.
3 Abonnez-vous au news.group Interbase en français.
4 Revenez ici, dans quelque temps pour les prochains articles :

1 Table Maitre/Détail avec InterBase ;


2 Outils d'administration pour InterBase ;
3 Outils de migration de données.

X - Mises à jour de l'article

Modifications et ajouts du 16/10/2000


Si vous téléchargez les dernières mises à jour des IBX (version 4.2 ou 4.3) vous devez savoir qu'elles vont remplacer,
entre autres, les fichiers Delphi suivants VCLIB50.BPL, VCLIB50.DCP, DCLIB50.BPL et DCLIB50.DCP. Ce qui peut
conduire à des incompatibilités. D'autant que VCLIB50.BPL (qui passe d'une taille de 366 Ko avec Update Pack 1 à
une taille de 476 Ko avec IBX) fait partie des fichiers à déployer et ne devrait jamais être modifié hors des versions
et mises à jour de Delphi lui-même. De plus, les sources de ces nouvelles versions ne sont pas fournis.
Pour ma part, je m'en tiens à l'Update Pack 1 de Delphi 5 Entreprise.
Si néanmoins vous n'avez pas les IBX, ou si vous tenez absolument aux mises à jour des IBX, cliquez ici, mais
vous aurez été prévenu !
Quelques précisions et liens supplémentaires faits dans l'historique.

Modifications et ajouts du 5/3/2001


Mise à jour des liens

- 11 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par
les droits d'auteur. Copyright ® 2013 Henry Cesbron Lavau. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
https://hcesbronlavau.developpez.com/IB6Demarrage/

Vous aimerez peut-être aussi