ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : transfert de données de VFP vers Postgresql   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

mer. 06 septembre 2017, 17h00
alahem1
Algérie Algérie

atoutfox.public.association

transfert de données de VFP vers Postgresql


Bonjour,

j'ai un souci que je n'arrive pas à comprendre.

j'ai deux tables vfp que je tranfert vers deux tables PostGreSql :

I- je crée une connection avec PG depuis VFP et je recupère le 'HANDLE' de la connection (HandleConnect)

II- Structure de la premiere table VFP :

IDTABLE I NOT NULL AUTOINC NEXTVALUE 12 STEP 1,
IDPARAMETRE I NOT NULL,
INTPARAMETRE C(30) NOT NULL,
CODPARAMETRE I NOT NULL,
VALPARAMETRE C(10) NOT NULL


structure de la premiere table PG :

IDTABLE Integer NOT NULL DEFAULT nextval('idtable_seq'::regclass),
 IDPARAMETRE Integer NOT NULL,
 INTPARAMETRE Character(30) NOT NULL,
 CODPARAMETRE Integer NOT NULL,
 VALPARAMETRE Character(10) NOT NULL,
 CONSTRAINT idtablekp PRIMARY KEY (idtable)


les deux tables tournent normalement.
Je transfert les données de VFP vers PG avec :

LOCAL cinsert
cinsert = ''
**--
IF HandleConnect > 0
  i = 0
  Wait Window "connection a été réeussit"
  USE parametre
  SELECT parametre
  SCAN
    i = i + 1
    nparametre = idparametre
    xparametre = intparametre
    ncode = codparametre
    nval = valparametre
    cinsert = "insert into parametre (idparametre, intparametre, codparametre, valparametre);
values (?nparametre, ?xparametre, ?ncode, ?nval)"

    nbre = SQLEXEC(HandleConnect, cinsert)
    IF nbre < 0
      Wait Window "l'insertion de l'enr. n° " + ALLTRIM(STR(i)) + " a échoué!!!"
    ENDIF
    SELECT parametre
  ENDSCAN
Else
  Wait Window "la connection a échoué"
ENDIF


la table parametre de PG est mise à jour correctement.

III- Structure de la deuxieme table VFP :

ID_ETUDE I NOT NULLAUTOINC NEXTVALUE 12 STEP 1,
NOM C(20) NOT NULL,
PRENOM C(20) NOT NULL,
D_NAISS D NOT NULL,
W_NAISS I NOT NULL,
SEXE N(1, 0) NOT NULL,
NATION I NOT NULL,


structure de la deuxieme table PG :

idetudiant integer NOT NULL DEFAULT nextval('idetudiant_seq'::regclass),
 nomfr character(30),
 prenomfr character(30),
 datenaissance date NOT NULL,
 wilnaissance Integer NOT NULL,
 sexe  Integer NOT NULL,
 nationalite Integer NOT NULL,


les deux tables tournent normalement.
Je transfert les données de VFP vers PG avec :

LOCAL cinsert
cinsert = ''
**--
IF HandleConnect > 0
  i = 0
  Wait Window "connection a été réeussit"
  USE gfe005
  SELECT gfe005
  SCAN
    i = i + 1
    nnom = ALLTRIM(nom)
    nprenom = ALLTRIM(prenom)
    ndate = d_naiss
    nwilaya = w_naiss
    nsexe = sexe
    nnation = nation
    cinsert = "insert into etudiant (nomfr, prenomfr, datenaissance, wilnaissance, sexe, nationionalite);
values (?nnom, ?nprenom, ?ndate, ?nwilaya, ?nsexe, ?nnation)"

    nbre = SQLEXEC(lnHandleConnect, cinsert)
    IF nbre < 0
      Wait Window "l'insertion de l'enr. n° " + ALLTRIM(STR(i)) + " a échoué!!!"
    ENDIF
    SELECT gfe005
  ENDSCAN
Else
  Wait Window "la connection a échoué"
ENDIF


la table étudiant de PG n'est pas mise à jour.

OU EST LE PROBLEME???

Merci pour vos suggestions.

A.MAHALLA

Permalink : http://www.atoutfox.org/nntp.asp?ID=0000018426
20 088 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3