Page en cours de chargement

Donnez votre avis..
Que pensez-vous de gambaslinux.fr?
 
Interessant
Il manque des rubriques
excellent site
Résultats
INTERFACE GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
=Bibliothèque
Les Base de données - Utiliser Sqlite
interfacer gambas avec Sqlite3

Bonjour, à tous,
Aujourd'hui nous allons nous intéresser à gambas et Sqlite.
Nous allons voir comment interfacer gambas avec une base de données sqlite.
Remarque : il faut savoir que sqlite.gb a été installé avec vos paquets gambas.

A) Le projet



Démarrer l'IDE de gambas,
Ensuite, Il vous faut créer un projet nommé essaibdd.

n'oubliez pas de cocher la case accès aux base de données. (ce qui se traduit par l'importation du composant qui gère les bases de données)



Vous êtes devant fmain, Maintenant nous pouvons commencer. Posez 4 boutons sur le FORM Fmain .





INFORMATION : la creation d'une base de donnée se decompose en trois etapes qui sont:

  1. Création du fichier (assimilé dans cet exemple au bouton 1)
  2. Création d'une table a l'interieur(assimilé dans cet exemple au bouton 2)
  3. Création de champs dans la table(assimilé dans cet exemple au bouton 3)



La table et les champs étant ainsi créés ,après, nous pouvons ajouter les données

Remarque : un fichier peut contenir plusieurs tables.


B) Création de la base de donnees Sqlite nommée "nombase.sq3"
Cette etape ne sera a réaliser qu'une fois. La base n'a besoin d'etre créée qu'une fois.
definissons d'abord des variables tout en haut de Fmain :

PUBLIC maconnexion AS NEW Connection
PUBLIC matable AS Table
PUBLIC monresultat AS Result


créez un bouton button1 et entrez ce code dans l'evenement Button1_click :

PUBLIC SUB Button1_Click()
' 'creation bdd sqlite
' 'definition de la connexion
maconnexion.Type = Lower("sqlite3") 'type de bdd
maconnexion.Host = User.Home 'chemin dacces de la bdd
maconnexion.Name = "" 'nom de la bdd que nous voulons utiliser
maconnexion.Login = "" 'login pour se connecter a la base
maconnexion.Password = "" ' mdp pour connecter a la base
maconnexion.Port = "" ' port si bdd en reseau
'ouvre la connexion a la bdd sqlite
maconnexion.Open()

'creer une base sqlite
maconnexion.Databases.Add("nombase.sq3")
WAIT 0.5 'attend une demi seconde
' fermer la base
maconnexion.Close()
END



Remarque : nous avons fermé la base une fois crée. Nous allons maintenant la ré-ouvrir pour créer un tableau ou plutôt une table .

Ré-ouvrons la et poursuivons avec ceci :

' ouvrir la nouvelle base
maconnexion.Host = Application.Path
maconnexion.Name = "nombase.sq3"
maconnexion.Open()
END


Notre base de données existe à présent , nous pouvons creer un tableau nommé "unetable":
Pour se faire, créons un nouveau bouton button2 et mettons ce code dans l'evenement click :

PUBLIC SUB Button2_Click()
'creation dune table dans la nouvelle bdd nombase.sq3
matable = maconnexion.Tables.Add("unetable")
END

3 ème étape, créons trois champs dans notre table "unetable" qui seront par exemple :

-ID
-nom
-prenom

Créeons un bouton 3 nommé button3 et ajoutons ceci dans l'evenement click :

PUBLIC SUB Button3_Click()
'creation de deux champs type string dans la nouvelle table
matable.Fields.Add("id", db.Serial)
matable.Fields.Add("nom", db.String, 0)
matable.Fields.Add("prenom", db.String, 0)
matable.PrimaryKey = ["id"]
matable.Update() 'mise a jour de la table
END


Voila ! notre bdd est créée.

Information : Nous aurions pu créer notre base de données avec l'excellent logiciel sqlite présent dans les dépôts de votre linux préféré.
Il simplifie grandement la création, l'accès, l'édition des bases sqlite.


C) Utiliser la base de données

Nous allons creer un bouton nommé button4 dans le formulaire fmain qui va nous servir à ouvrir une autre fenêtre FORM1



ensuite créons un nouveau formulaire nommé form1



bdd5.png
dans l'evenement click de button4 nous allons ouvrir le form1 par

PUBLIC SUB Button4_click()
Form1.show
END


rien de plus simple!

Maintenant nous allons nous intéresser au form1 :




Créons un datasource1 (present dans les widgets si la case acces aux bdd avait été cochée au debut)
dans la propriété "table", ecrire : unetable



maintenant dans notre datasource nous allons creer un databrowser1
Nous allons éditer la proprieté Columns en ajoutant 3 colonnes qui sont respectivements :

  • id
  • nom
  • prenom

Maintenant toujours dans notre datasource1 qui est notre container, nous allons mettre des datacontrol1 , 2 ,3 qui sont des genres de textbox adapté pour les bdd
Dans la propriété Field(champs en francais), nous allons ecrire respectivement id pour le datacontrol1, nom pour le 2 et prenom pour le 3

Ca y est nous sommes fin prêt :

Cliquons sur executer et cliquons sur :

button1 : creation fichier
button2 : creation table
button3 : creation champ dans la table
button4 : edition des données dans la table


saisissons des donnes dans les datacontrol 2 et 3 'le 1er est grisé, normal c'est un compteur !)

voila pour aujourd'hui.
TELECHARGER LES SOURCES ICI

Remarque : il est evident que la prochaine fois qu'on lance l'appli il ne faut pas recréer la base mais l'ouvrir simplement en redéfinissant ce que j'ai appelé dans le code definition de la connexion

Dans un prochain tuto, je vais vous expliquer clairement comment ajouter, éditer, ou supprimer des données de la base sqlite. Vous verrez, c'est vraiment simple sous gambas. Un langage facile et rapide à apprendre.


A bientôt


Date de création : 05/06/2009 @ 21:41
Dernière modification : 21/03/2022 @ 08:52
Catégorie : Les Base de données
Page lue 6916 fois


Imprimer l'article Imprimer l'article


react.gifRéactions à cet article


Réaction n°10 

par spheris le 15/03/2011 @ 22:48

tout simplement en suivant ce tuto ici
wink

Réaction n°9 

par masterrsi le 15/03/2011 @ 22:27

salut !
et si je veux importer des fichiers .csv comment faire ça ??

Réaction n°8 

par spheris le 06/02/2011 @ 17:50

il vous suffit simpement de lancer votre gestionnaire de paquet(synaptic par exemple) et de rechercher le paquet gb.sqlite Après quoi vous pourrez utiliser le sql.
A bientôt
wink

Réaction n°6 

par spheris le 27/12/2010 @ 00:29

Caracole,
en fait, il est possible d'accéder à ta bdd lorsque celle ci est ouverte par maconexion.open().
Tu peux dès lors utiliser une gridview, une columview ou datasource ou autre pour visualiser tes données. Je t'invite à télécharger Freegmao dans la catégorie Bureautique qui regorge d'exemples d'utilisation de la bdd.
A bientôt. wink

Réaction n°5 

par caracole le 25/12/2010 @ 18:59

Je ne vois pas comment il y une relation entre la connexion de Fmain et les controles de Form1 a part le nom dde tables et des champs . comment est effectuée cette relation entre la table et la base de donnée ?

Réaction n°4 

par itroler le 02/04/2010 @ 10:45

Merci pour  ce brillant tuto, qui règle de main de maître mille petits détails qui  me bloquaient !

Réaction n°3 

par jlouis le 02/12/2009 @ 11:59

Un grand merci spheris5, j'ai enfin réussi à utiliser une base de donnée avec Gambas.

Bonne continuation...

Réaction n°2 

par pinky le 05/06/2009 @ 22:52

EXTRA ! wink

C'est très bien expliqué. Je teste ça dès que j'ai un moment.

Un grand merci.

Réaction n°1 

par munu56 le 05/06/2009 @ 22:31

T'es le meilleur spheris5....

J'ai souvent bloqué sur les BDD avec gambas et là on peu dire que tu réponds à toutes mes questions sans même à avoir à les poser!!!!

Merci pour ce super tuto.


ACCES RAPIDE
RECHERCHE




LES INSTRUCTIONS
Divers
INSTRUCTIONS
Où ça, qui ça?
VISITES

   visiteurs

   visiteurs en ligne

ARCHIVES GAMBAS 1/2
^ Haut ^