Bonjour,

Je tente par code d'ajouter un enregistrement à une table nommée Infosvue d'une base SQLITE3 (Base1.db3) dans un programme Lazarus ( version 1.4.2. sous W7). Les données que je souhaite ajouter sont dans un tableau unidimensionnel (valtab [1], valtab[2] valtab [3]). Les colonnes de la table qui a pour nom InfosVUe ont pour en-tête de champ les noms Archiv, Nom1, Prenom1
nota : une autre partie du programme qui elle, fonctionne bien, me permet d'actualiser les valeurs associées aux variables du tableau et qui sont toutes des Strings.
Pour cela je construit la variable RequetAjout suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
RqtAjoutAB :=  'Insert Into  Infosvue ( Archiv,  Nom1, Prenom1 ) Values ( quotedStr(Valtab[1]), quotedStr(Valtab[2]), quotedStr(valtab[3]) )' ;
et je modifie la valeur du SQL d'un ZQQuery par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
ZC_Cree1.Connected := False ;
         ZC_Cree1.Database := DnomBaseA ;
         ZC_Cree1.Connected := True ;
         ZQ_Cree1.SQL.Clear ; // Mise à zéro de la chaine SQL
         ZQ_Cree1.SQL.Text :=  RqtAjoutAB ;
         ZQ_Cree1.ExecSQL ;
où ZC_Cree1 et ZQ_Cree1 sont les composants Zeos associés à la base de nom complet DnomBaseA.

Ce code me renvoie une erreur SQL à l’exécution et pourtant toutes les variables existent bien.
Cela fait plusieurs heures que je tente de résoudre le problème sans succès.
D'autre part, est-il utile, prudent, nécessaire (?) de fermer l'accès à la table par un une fois l'ajout effectué