Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
Je souhaiterais savoir comment faire ceci :
J'ai un datastore dont je veux transférer les données dans une table sybase.
Avez-vous une idée ? Merci.
Hors ligne
Hello !
les lignes de ta datastore appartiennent t'elle à la meme table que tu veux transferer ?
comment sont construites ces lignes ?
tu peux donner un peu plus de detail ?
si c'était des lignes appartenant à la datastore dont la datawindow contient juste une table A
il suffit juste de faire un Update()
merci du renseignement
et bienvenue parmi nous
Hors ligne
Hello,
Non, le datastore et la table ne sont pas du tout liés.
Le datastore est indépendant, il contient des colonnes de type numérique et alphanumérique.
Je souhaite transférer son contenu dans une table sybase vide. On m'ap arlé d'une solution consistant à utiliser la méthode rowsmove() pour transférer lesl ignes vers une nouvelle datawindow associée à cette table, mais j'ai du mal à saisir comment réaliser ceci.
Hors ligne
rowsmove ou rowscopy
dw_1.RowsCopy(dw_1.GetRow(), &
dw_1.RowCount(), Primary!, dw_2, 1, Primary!)
mais pour que cela fonctionne, il faut que les 2 datawindows soient construites de la meme facon...
c'est à dire qu'il faut qu'elles aient le meme nombre de champs, à l'identique.
sinon, fais un export de ta datawindow1, et de la datawndow2
et on regarde ca ensemble.... si tu veux, bien sur.
sinon, tu balaies le contenu de ta datastore,
genre :
long ll_i, ll_rows, ll_row string ls_info1 ll_rows = lds_datastore.rowcount() La, tu recuperes le contenu des colonnes que tu desires apres ca, tu inseres dans ton autre datawindow ll_row = dw_autre.insertrow() dw_autre.setitem(ll_row,'colonne1',valeur1) ect... for ll_i = 1 to ll_rows next
Hors ligne
C'est encore au stade de projet, je n'ai pas commencé les dev.
Il y a quelquechose que je ne comprneds pas : que dois-je spécifier, ou comment dois-je constuire la dw_2 pour que la table sybase associée soit remplie quand je fais mon rowscopy ?
Hors ligne
RowsCopy
Méthode permettant de copier un bloc de données d’une DataWindow à une autre ou d’un buffer à un autre pour une même DataWindow.
Syntaxe <dw_enreg>.RowsCopy(<début_enreg>,<fin_enreg>, <buffer_enreg>, <dw_cible>,<pos_insertion>, <buffer_cible>)- <dw_enreg> : datawindow sur laquelle on copie un bloc de données.- <début_enreg> : numéro de la ligne marquant le début du bloc d’enregistrement.- <fin_enreg> : numéro de la ligne marquant la fin du bloc d’enregistrement.- <buffer_enreg> : buffer de la datawindow d’enregistrement où est réalisée la copie.- <dw_cible> : datawindow où sera introduit le bloc de données copié.- <pos_insertion> : position dans la datawindow cible, avant laquelle sera inséré le bloc de données. Pour insérer en fin de DataWindow, il suffit d’indiquer un nombre supérieur au nombre de lignes contenues dans le buffer cible.- <buffer_cible> : buffer où sera introduit le nouveau bloc copié.
Valeurs de retour - (1) : en cas de réussite.- (-1) : en cas d’erreur.- NULL : DataWindow de référence NULL
pris du cours de 'powerbuilder par la pratique'...
Hors ligne
Merci pour l'info, mais ce que je ne comprend pas c'est comment construire ma datawindow cible.
Doit-elle être external ? liée à une proc ? Comment spécifier ma table cible dans les update properties pour que le slignes insérées dans la datawindow cible mettent à jour la table ?
Hors ligne
tu trouveras tout ca dans le cours...
ta datawindow cible, c'est celle ou tu veux qu'on fasse l'update
sur celle-ci, tu construis ta datawindow par rapport à la table à updater.
Hors ligne
Ok merci pour les renseignements.
Hors ligne
voir la mega reponse ici... http://pbadonf.fr/forum/viewtopic.php?pid=784#p784
Hors ligne
Pages: 1