bonjour à tous,
je souhaiterai effectuer une requete d'insertion avec ajout d'éléments directement et à l'aide d'une table.
il est possible de faire un insert à l'aide d'une table :
il est possible de faire un insert avec ajout direct :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 query1.sql.add('INSERT INTO table_client (numero, nom, prenom) SELECT tabl_pers.num, tabl_pers.name, tabl_pers.firstname FROM tabl_pers');
mais je voudrais concaténer ces deux possibilités. Ainsi, il est également possible de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 query1.sql.add('INSERT INTO table_client(numero, nom, prenom) VALUES (13, "dupont", "bernard")');
mais le problème se pose pour les entiers. En effet, le code suivant ne fonctionne pas et me génére une erreur 'différence de type dans une expression' :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 query1.sql.add('INSERT INTO table_client(numero, nom, prenom) SELECT tabl_pers.num, "dupont", tabl_pers.firstname FROM tabl_pers');
ainsi, je peux inserer des données via des enregistrements d'une table et du texte mais je ne peux pas faire la même chose avec des entiers. J'ai essayé de passer via différentes variables mais le problème reste le même :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 query1.sql.add('INSERT INTO table_client(numero, nom, prenom) SELECT 13, tabl_pers.name, tabl_pers.firstname FROM tabl_pers');
merci par avance pour ceux qui auraient une petite idée de comment rajouter dans un INSERT une variable à affecter de type integer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 query1.sql.add('INSERT INTO table_client(numero, nom, prenom) SELECT :varnum, tabl_pers.name, tabl_pers.firstname FROM tabl_pers'); query1.parambyname['varnum'].asinteger := 13; ou query1.sql.add('INSERT INTO table_client(numero, nom, prenom) SELECT ' + 13 + ', tabl_pers.name, tabl_pers.firstname FROM tabl_pers'); ou var_numero := 13; query1.sql.add('INSERT INTO table_client(numero, nom, prenom) SELECT ' + var_numero + ', tabl_pers.name, tabl_pers.firstname FROM tabl_pers');
del.
Partager