Bonjour à tous
À titre d'essai, j'ai créé une petite application de base de données sous Lazarus qui se connecte à une base (d'une seule table !) sous MySQL.
Tout fonctionne, sauf l'ajout d'un enregistrement (encore que je n'ai pas encore essayé la suppression).
Avec la barre d'outils par défaut, de type TBDNavigator, rien ne se passe.
Avec un bouton 'Ajout', l'insertion se fait... à l'arrêt de l'application ! Et encore : après le message 'Operation cannot be performed on an inactive database', quand l'instruction 'ApplyUpdates' est active (si je la commente, le message d'erreur n'apparaît pas, mais l'ajout se fait quand même après fermeture de l'application).
Il va de soi que la connexion est faite à partir des composants de Lazarus pour MySQL.
Voici le code de mon ajout :
NOTA BENE : la table est indexée sur un index auto-incrémenté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure TFntrPrinc.BtnAjoutClick(Sender: TObject); var texte:string; begin Texte:='insert into `TPrinc` values(NULL,'+QuotedStr(EdPrenom.text)+','+QuotedStr(EdNom.Text)+','+EdAge.Text+','+quotedstr(edcomment.Text)+');'; RqSQL.SQL.Text:=texte; EtqTest.Caption:=texte; rqsql.ExecSQL; transactionsql.Commit; rqsql.ApplyUpdates(); end;
Quelqu'un a-t-il une idée géniale à me proposer ?
D'avance, merci pour vos contributions.
Partager