[résolu]problème dans l update de RowSet

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Lio
NOOuvel adepte
NOOuvel adepte
Messages : 23
Inscription : 28 juin 2006 13:32
Localisation : Lausanne (Suisse)

[résolu]problème dans l update de RowSet

Message par Lio »

j'essaie d'updater mon ORowSet avec des textfields d'une boîte de dialogue (il s'agit d'update et pas d'insertion, ca j'arrive). Avec le code ci-dessous quelque chose cloche, je sais pas quoi. (la listbox1 fonctionne, ainsi que la connexion à la base de donnée)

Sub ModifierModifiation()

oTextField=Modification.getControl("Prenom1") 'obtient le contenu des textfields -->enregistrement()
enregistrement(1) = oTextfield.text
OTextField= Modification.getControl("Nom1")
enregistrement(2) = oTextfield.text
OTextField= Modification.getControl("Titre")
enregistrement(3) = oTextfield.text
OTextField= Modification.getControl("Editeur")
enregistrement(4) = oTextfield.text
'j'ai coupé le programme

PositionItem=ListBox1.getselecteditempos
oRowset.absolute(PositionItem)
n=1 '
for c=2 to 19

oRowSet.UpdateString(c, enregistrement(n))
n=n+1
next
End Sub
Dernière modification par Lio le 06 juil. 2006 22:00, modifié 1 fois.
OpenOffice.org 2, windows xp
Avatar de l’utilisateur
cris59
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 482
Inscription : 20 mars 2006 15:15
Localisation : Paris

Re: problème dans l update de RowSet

Message par cris59 »

Lio a écrit : Avec le code ci-dessous quelque chose cloche, je sais pas quoi.
C'est-à-dire

une erreur ? si oui laquelle et sur quelle ligne?

l'update ne se fait pas?


cris59
WinXP PRO SP2 avec OOo2.2 & Vista avec OOo2.3.1
& Debian avec OOo2.2

http://www.cpserv.net/
Lio
NOOuvel adepte
NOOuvel adepte
Messages : 23
Inscription : 28 juin 2006 13:32
Localisation : Lausanne (Suisse)

Message par Lio »

une erreur ? si oui laquelle et sur quelle ligne?
il n'y a pas d'erreur qui apparaît (genre SQLexceptions ou autres). Simplement (et malheureusement:) la base de donnée ne semble pas modifiée par le update. Si je crée un témoin sur oRowSet je ne sais pas dans quelle variable observer le changement (supposé) par UpdateStrig.

J'ai vu dans le DG qu'il existe une fonction updateRow, c'est peut-être préférable?
OpenOffice.org 2, windows xp
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Message par bm92 »

Lio a écrit :J'ai vu dans le DG qu'il existe une fonction updateRow, c'est peut-être préférable?
Oui, c'est assez utile...
Après avoir rempli/modifié les champs de ton enregistrement (qui n'est qu'une image), .updateRow donne l'ordre de recopier le tout dans la base. À faire pour chaque enregistrement.
Lio
NOOuvel adepte
NOOuvel adepte
Messages : 23
Inscription : 28 juin 2006 13:32
Localisation : Lausanne (Suisse)

Message par Lio »

oui mais comment faire?

est-ce que tu ne confonds pas avec InsertRow où il faut d'abord remplir l'"insert Row" puis l'insérer dans la base de donnée?

avec update row Ca ne marche pas comme ca il me semble...
OpenOffice.org 2, windows xp
Avatar de l’utilisateur
cris59
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 482
Inscription : 20 mars 2006 15:15
Localisation : Paris

Message par cris59 »

Code : Tout sélectionner

 oRowSet.UpdateString(c, enregistrement(n)) 
et tous ceux correspondant à une ligne de ta table

puis pour enregistrer le ligne
 oRowSet.UpdateRow
cris59
WinXP PRO SP2 avec OOo2.2 & Vista avec OOo2.3.1
& Debian avec OOo2.2

http://www.cpserv.net/
Lio
NOOuvel adepte
NOOuvel adepte
Messages : 23
Inscription : 28 juin 2006 13:32
Localisation : Lausanne (Suisse)

Message par Lio »

Merci!!!

ca fonctionne!
OpenOffice.org 2, windows xp