1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| PUBLIC PROCEDURE Connect() 'connection à la base de données
hConn.Type = "sqlite3" '<-----------------------------------' type de connection, les informations minimalistes à rentrer dépendent de chaque type de base hConn.Host = Application.Path '<-----------------------' c'est ici une base locale, Tout endroit est possible, du style : User.home &/ "monRépertoire", caché ou non hConn.Open() '<-----------------------------------------------' connection ouverte
IF NOT hConn.Databases.Exist("LaBase") THEN '<---------' Si la base n'existe pas elle est créée hConn.Databases.Add("LaBase") '<---------------------------' on ajoute une base aux bases de la connection ENDIF
hConn.Close '<--------------------------------------------------' fermeture de la connection hConn.Name = "LaBase" '<---------------------------------' nom à attribuer à la base hConn.Open '<------------------------------------------------' ouverture de la connection
'<----------------------------------------------------------------------' On peut répéter l'opération autant de fois que de tables à créer, en changeant juste le nom de la table à ajouter
IF NOT hConn.Tables.Exist("maTable") THEN '<------------' si la table n'existe pas elle est créée hTable = hConn.Tables.Add("maTable") '<----------------' on ajoute une table aux tables de la base de données '<---------------------------------------------------------------------' on créé les champs de la table hTable.Fields.Add("id", db.Serial) '<------------------------' On commence par le champ qui servira de clef d'indexation et sera auto-alimenté par la base hTable.Fields.Add("champ1", db.Blob, 250) '<---------' les champs peuvent être de différentes natures et de différentes tailles. hTable.Fields.Add("champ2", db.Boolean, 5) '<--------' champ de type boolean de longueur 5 hTable.Fields.Add("champ3", db.Float, 10) '<---------' champ de type float de longueur 10 hTable.Fields.Add("champ4", db.Long, 5) '<-----------' champ de type long de longueur 5 hTable.Fields.Add("champ5", db.Integer, 2) '<--------' champ de type integer de longueur 2 hTable.Fields.Add("champ6", db.String, 50) '<--------' champ de type string de longueur 50 hTable.Fields.Add("champ7", db.Date, 10) '<----------' champs de type date de longueur 10 caractères hTable.PrimaryKey = ["id"] '<-----------------------' Le premier champ sera aussi la clef primaire de la base, servira d'index alimenté et géré par la base, elle même
hTable.Update '<------------------------------------' on met à jour notre table et la base de données ENDIF
CATCH Message.info(("relancer le programme : ") & "connection à la base impossible. " Error.text) QUIT
END
|