Gambas France BETA


Pas de compte ? Incription

Besoin d'aide sur les bases de données.

1
AuteurMessages
loki#1 Posté le 24/12/2010 à 16:18:00
Bonjour,
J'essaye de m'adonner aux bases de données et j'ai pas tout compris comment ça marche :(
Pour commencer j'ai repris le tuto du site pour comprendre les bases, mais c'est après que ça se complique pour moi.

voila le code que j'ai fait a partir du tuto(sa, ça marche):
1
' Gambas class file$cConnexion As New Connection$tTable As TablePublic Sub Button1_Click() With $cConnexion .Type = Lower("sqlite3") .Host = Application.Path .Open() End With Try $cConnexion.Databases.Add("testBDD.sq3") If Error Then Print "testBDD existe déja" Else $cConnexion.Close() With $cConnexion .Type = Lower("sqlite3") .Host = Application.Path .Name = "testBDD.sq3" .Open() End With $tTable = $cConnexion.Tables.Add("table1") With $tTable .Fields.Add("id", db.Serial) .Fields.Add("nom", db.String, 0) .Fields.Add("prenom", db.String, 0) .PrimaryKey = ["id"] .Update() End With Print "testBDD créé" Endif $cConnexion.Close()EndPublic Sub Button2_Click() With $cConnexion .Type = Lower("sqlite3") .Host = Application.Path .Name = "testBDD.sq3" .Open() End With Form1.ShowEnd


La première chose c'est que DataControl1 ne s'affiche pas
La deuxième les colonnes du DataBrowser1 sont beaucoup trop grande(peut ont les régler)


Et la troisième comment manipule t'ont dans un programme les données, par exemple:
comment met ont les données du fichier .sq3 dans une variable ?
comment changer la donnée de la colonne 3 ligne 2 ?...

Voila j'arrive donc a créer la base de données a rentrer les données avec l'interfaçage mais pas a les utiliser dans un programme si quelqu'un peu me donner un coup de main ca serai sympa :D.

Bonnes fêtes a tous :santa:
loki
Dell Vostro 3750
Ubuntu 13.04 - Gambas 3.4.1
manu#2 Posté le 28/12/2010 à 21:54:00
Avec Gambas ca roule !salut loki,


La première chose c'est que DataControl1 ne s'affiche pas


Quelle version de gambas utilises tu ?
Si c'est la version 3, il y a un bug d'affichage sur les data contrôles quand le projet utilise GTK... J'ai signalé ce bug, je penses qu'il sera bientôt corrigé.
Si tu utilise la version 2 alors c'est que tu ne fait pas ce qu'il faut ;)


Concernant la taille des colonnes du databrowser, tu peux la changer en changeant la taille de tes champs, soit par programmation a la création de ces derniers :
unetable.Fields.Add("Numero", db.String, 6) ' 6 pour 6 caracteres

soit en modifiant la taille du champ dans le databasemanager de gambas.

Bon pour la 3 ieme quextion voici un bout de code qui pourra t'aider : il suppose une Base de donnée avec une table qui s'appelle TableClient compose de 2 champs : NomClient et PrenomClient

1
PUBLIC SUB ComboBox2_Change()DIM hResult AS Result ' on créé une variable résultat (de requête) hResult = db.Exec("select * FROM TableClient WHERE Nom = '" & ComboBox2.Text & """) ' on sélectionne la fiche dont le nom du client est selectionné dans comboBox2 If hResult.Available = True Then ' si résultat requête ok alors on continue labelNomClient.Text = hResult!NomClient labelPrenomClient.Text = hResult!PrenomClient EndifEnd


Voila pour demarrer ! ;)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
loki#3 Posté le 29/12/2010 à 15:23:00
salut manu,

oui j'utilise bien gambas3 et je pensais que c'était un bug :D

pour le code même expliqué comme tu la fait je capte rien, mon cerveau ne doit pas être configuré pour les bases de données :scratch:
je vais continuer a mettre pour l'instant mes données dans des fichiers txt que je maitrise et je reviendrai après sur les bases de données.

merci pour l'effort :D

loki
Dell Vostro 3750
Ubuntu 13.04 - Gambas 3.4.1
1