Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 30-03-2008 21:28:22

pinto  
Membre
Date d'inscription: 30-03-2008
Messages: 5
Pépites: 22
Banque: 0

row changed between retrieve and update

j'ai souvent ce type de message en particulier quand je fais un Update aprés un retrieve alors que les données n'ont pas été modifiées.

Comment éviter ce dysfonctionnement sachant que je suis en version 9 de PB avec MySQL Version 5.

Merci

Hors ligne

 

#2 30-03-2008 22:09:59

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: row changed between retrieve and update

Bonsoir,

Regarde comment est générée la clause where de ton Update: Tu as peut-être un champ date initialisé automatiquement dans ta datawindow (par exemple)


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#3 30-03-2008 22:28:16

pinto  
Membre
Date d'inscription: 30-03-2008
Messages: 5
Pépites: 22
Banque: 0

Re: row changed between retrieve and update

je n'ai pas de date initialisée par défaut.

tu as une autre idée ?

Hors ligne

 

#4 31-03-2008 05:25:55

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: row changed between retrieve and update


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#5 31-03-2008 20:28:22

pinto  
Membre
Date d'inscription: 30-03-2008
Messages: 5
Pépites: 22
Banque: 0

Re: row changed between retrieve and update

cela ne marche toujours pas. j'ai également essayé la méthode indiquée sur le site tek_tips.
est-ce que cela ne viendrait pas du fait de la version MySQL V5 que j'utilise et qu'il faudrait juste positionner le bon parametre associé à ma connextion ODBC ?

Hors ligne

 

#6 01-04-2008 07:29:08

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: row changed between retrieve and update

Bonjour,

N'aurais-tu pas un SetItem ou un dw.object.column = xx qui est fait après le retrieve ??

Hors ligne

 

#7 01-04-2008 09:58:49

SugarRc  
Membre
Lieu: Saint-Mitre les Remparts
Date d'inscription: 16-03-2008
Messages: 4
Pépites: 9
Banque: 0

Re: row changed between retrieve and update

Bonjour,

J'ai eu le même problème il y a quelques jours après avoir repris une application développée il y a quelques années.
Initialement, cette application tournait sous ASA 7 sans aucun soucis. Et le problème a commencé lors de son passage sur SqlAnywhere 10.
Après contrôle, j'ai simplement passé les 'Update properties' comme suit :
Key Columns et Use delete and insert.
Et depuis ça marche.

J'espère que cela t'aidera,

SugarRc

Hors ligne

 

#8 01-04-2008 09:59:04

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: row changed between retrieve and update

Bonjour,

Il n'y a rien dans le retrieveend, ou le retrieverow de ta datawindow?
Pas de trigger sur ta table?
Quel paramétrage as-tu dans tes Update Properties?
As-tu regardé la requête SQL générée par ta datawindow en sauvegarde?


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#9 01-04-2008 10:01:43

pinto  
Membre
Date d'inscription: 30-03-2008
Messages: 5
Pépites: 22
Banque: 0

Re: row changed between retrieve and update

oui j'ai pleins de Setitem aprés mon retrieve puisque effectivement je modifie les données mais en réalité les données ne changent pas ( elles sont identiques à celles qui sont déjà présentes en base).

Pour info - je n'ai pas de triggers sur la table. Mes Update properties sont "Key column" et "Delete & Insert". La requete est générees proprement.

Ma séquence de code est la suivante :

dw.SetTransObject(SQLCA)
dw.Retrieve()
...
...
// pas de saisie dans ma dw mais un traitement de calcul avec plusieurs dw.SetItem()
....

// suite à mon traitement et mes setitem les données qui ont été modifiées sont identiques aux données qui ont été ramenées par le retrieve

dw.Update()
commit;

Dernière modification par pinto (01-04-2008 10:10:07)

Hors ligne

 

#10 01-04-2008 12:08:48

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: row changed between retrieve and update

Tes SetItem concernent-ils des champs date, datetime ou time?
Tu ne fais pas de ResetUpdate?


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#11 01-04-2008 12:17:28

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: row changed between retrieve and update

pinto a écrit:

oui j'ai pleins de Setitem aprés mon retrieve puisque effectivement je modifie les données mais en réalité les données ne changent pas ( elles sont identiques à celles qui sont déjà présentes en base).

Pour info - je n'ai pas de triggers sur la table. Mes Update properties sont "Key column" et "Delete & Insert". La requete est générees proprement.

Ma séquence de code est la suivante :

dw.SetTransObject(SQLCA)
dw.Retrieve()
...
...
// pas de saisie dans ma dw mais un traitement de calcul avec plusieurs dw.SetItem()
....

// suite à mon traitement et mes setitem les données qui ont été modifiées sont identiques aux données qui ont été ramenées par le retrieve

dw.Update()
commit;

Et si tu essaye de mettre tous les SetItem en commentaire, as tu le même symptôme ?
Si oui, tu n'a plus qu'a chercher quel est le Setitem qui provoque ton erreur.

Hors ligne

 

#12 03-04-2008 12:51:57

pinto  
Membre
Date d'inscription: 30-03-2008
Messages: 5
Pépites: 22
Banque: 0

Re: row changed between retrieve and update

je ne fais de resetupdate et je n'utilise que des champs de date

mon pb n'est tjrs pas résolu

Hors ligne

 

#13 03-04-2008 15:29:22

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: row changed between retrieve and update

Des pistes en vrac :
- transformation de caractères ansi/unicode entre la BDD et PB qui font que la clause where ne trouve plus ses petits.
- un identifiant interne à l'enregistrement (type counter), non associé à l'ID des updates properties de la DW.
- un problème de grant sur la table

Peux-tu transmettre le code de ta DW et le schéma de ta table source ?
Ce serait plus facile pour t'aider.


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22