lun. 13 janvier 2020, 15h15
alahem1
Algérie
atoutfox.public.association
SQL et Postgresql bis
Bonjour,
Je veux mettre à jour des tables existantes de PostgreSql à partir de VFP9.
tables Postgresql :
1- table1 (idtable1 Int, Ctable1 Char(20)) ; idtable1 clé primaire auto incrémentée
2- table2 (idtable2 Int, idtable2fk int, ctable2 Char(20)) ; idtable2 clé primaire auto incrémentée , idtable2fk clé étrangère sur table1.idtable1.
3 - vtable1 vue sur la table1 et vtable2 vue sur la table2
dans la fenêtre 'commande' de VFP9 :
connexion avec la base de donnée de postgresql établie => nhandle = 1
1° écriture :
lvalue = "insert into vtable1 (ctable1) values ('valeurTab1')
sqlexec(nhandle,lvalue)
lvalue = "select * from table1"
sqlexec(nhandle,lvalue)
[/VFP]
je récupère le résultat de ma requête dans la fenêtre 'Session de données'
sqlresult => 1 ligne = 1,valeurtab1
-Question : Est ce que je peux nommer ma requête dans 'lvalue'?
2° écriture :
lvalue = "insert into vtable2 (idtable2fk,ctable2) values (1, 'valeurTab2')
sqlexec(nhandle,lvalue)
lvalue = "select * from table2"
sqlexec(nhandle,lvalue)
Ok => sqlresult = 1,1,valeurtab2
3° écriture :
lvalue = "select * from vtable1"
sqlexec(nhandle,lvalue)
nvar = sqlresult.idtable1
lvalue = "insert into vtable2 (idtable2fk,ctable2) values (?nvar, 'valeurTab2')
sqlexec(nhandle,lvalue)
lvalue = "select * from table2"
sqlexec(nhandle,lvalue)
Ok => 2,1,valeurtab2
4° écriture :
lvalue = "insert into vtable2 (idtable2fk,ctable2) values (select idtable1 from vtable1, 'valeurTab2')
sqlexec(nhandle,lvalue)
lvalue = "select * from table2"
sqlexec(nhandle,lvalue)
Pas de résultat !!! Erreur dans la 1° lvalue.
Je n'arrive pas à la détecter.
Merci pour toute aide et bonne journée.
Alain
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000019523