Gambas France BETA


Pas de compte ? Incription

Création par le code :

Création d'une base de données par le code :


Pour pouvoir utiliser les bases de données il faut cocher le composant gb.db dans les propriétés de votre projet.

Déclaration minimum :
1
2
3
PUBLIC hConn AS NEW Connection '<--------' Une connection à la base
PUBLIC hTable AS Table '<-----------------------' Une table générique d'enregistrements
PUBLIC hResult AS Result '<---------------------' Résultat générique de requête sur la base

Procédure de connection à la base de données avec création de la Base, création de la table et création des champs de la base de données :
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

Type que peut prendre un champ de base de données :
1
2
3
4
5
6
7
8
db.Blob
db.Boolean
db.Date
db.Float
db.Integer
db.Long
db.Serial
db.String

Propriétés des champs :
1
2
3
4
5
6
Collation '<----------' Renvoie le collation du champ.
DEFAULT '<----------' Renvoie la valeur par défaut d'un champ.
Length '<----------' Renvoie la longueur maximale d'un champ de texte.
Name '<----------' Renvoie le nom du champ.
Table '<----------' Renvoie l'objet de table qui possède ce champ.
Type '<----------' Renvoie le type de champ.

Éléments d'une base de données :
1
2
3
4
5
6
7
8
9
10
11
12
Blob '<-----------------' Cet objet est renvoyé par un champ blob et est utilisé pour lire ou écrire son contenu.
Connection '<-----------' Cette classe représente une connexion à une base de données.
Connections '<----------' Cette classe énumère toutes les connexions définies dans l'IDE dans le dossier du projet "Connexions".
Database '<-------------' Cette classe représente une base de données.
DatabaseUser '<---------' Cette classe représente un utilisateur d'une base de données.
DB '<-------------------' Cette classe représente la connexion actuelle.
Field '<----------------' Cette classe représente un champ de table.
Index '<----------------' Cette classe représente un index de table.
Result '<---------------' Cette classe représente le résultat d'une demande SQL.
ResultField '<----------' Cette classe représente l'un des champs d'un objet de résultat.
SQLRequest '<-----------' Cette classe fournit une installation pour générer une demande SQL de base sur une seule table.
Table '<----------------' Cette classe représente la définition d'une table de base de données.

Ensuite vient le temps de se servir de la base de données.

Utiliser les bases de données :



====================

Navigation :



<-- Liens du Wiki : <--
<-- Accueil du WIKI : <--

====================


====================