Bonjour, je suis entrain de m'exercer pour apprendre la gestion d'un BDD. Voila la structure de mon application test
Pour créer ma table j'ai utilisé FDQueryCreateTable avec la commande SQL :
Puis clic droit et exécuter. Jusque la pas de soucis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE IF NOT EXISTS tbl_categories ( id INTEGER PRIMARY KEY AUTOINCREMENT, left_id SMALLINT UNSIGNED NOT NULL, right_id SMALLINT UNSIGNED NOT NULL, level SMALLINT UNSIGNED NOT NULL, title VARCHAR(65) NOT NULL, description VARCHAR(150) NOT NULL );
Pour insérer des données, le code SQL suivant :
INSERT INTO tbl_categories (title, description, level, left_id, right_id) VALUES (:Title, :Description, :Level, :Left_id, :Right_id)Associer au bouton ajouter
jusque là ca va
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure TfrmPrincipale.btnInsertClick(Sender: TObject); begin With FDQueryInsert do begin ParamByName('Title').AsString := Edit1.Text; ParamByName('Description').AsString := Edit2.Text; ParamByName('Level').AsInteger := 0; ParamByName('Left_id').AsInteger := 1; ParamByName('Right_id').AsInteger := 2; ExecSQL(); end; FDQuerySelect.Close(); FDQuerySelect.Open; end;
Par contre lorsque je clic sur le bouton supprimer du BindNavigator
1) L'item supprimé est toujours le premier de la liste et ce quelque soit celui qui est sélectionné dans le listview
2) L'affichage du Listview n'est pas automatiquement mise à jour. (Même en cliquant sur le bouton refresh du BindNavigator)
Je dois quitter et redémarrer l'application pour visualiser les changements
Ensuite, la suppression n'est pas toujours prise en compte (comme sur la capture suivante Test 2, n'a pas été supprimé par exemple).
Ensuite je ne sais pas pourquoi, d'un coup, les données ne veulent plus s'afficher alors que ma connexion est bien active et que le fichier est présent.
Note : Pour le Binding, j'ai utilisé l'assistant. Dans les options de connexion j'ai la persistance des données active
Ma question est donc qu'est ce j'ai oublié de faire ??? Je n'arrive pas à comprendre ce qu'il me manque.
Merci d'avance
Bon dimanche
Partager