Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
bonjour,
ma situation est la suivante:
1- objet datawindow de style tabular
2- une fenetre de type windows qui contient le control de type datawindows décit ci après
3- un control de type datawindow sur laquelle j'ai posé mon objet datawindows
comment faire pour afficher les données de ma datawindows depuis la fenetre windows en passant par le control windows
cordialement
Hors ligne
un truc comme ça :
dw_control.setTransObject(sqlca) dw_control.retrieve()
Hors ligne
en fait j'ai un objet qui gére la connexion et qui a été crée avec l'assistant et qui utilise un fichier ini externe. c'est à dire que les parametre de l'objet sqlca sont recuperé depuis ce fichier.
mon probleme est que je ne sais comment faire appel à cet objet et afficher les données du datawindow objet.
Hors ligne
Ah bon, il y a un assistant ?
Ah ok, j'ai trouvé.
Bon tu débutes complétement en PB. L'idéal est d'effectuer une formation.
Si ce n'est pas possible, achète toi un bon livre. Même une vieille version de pb : ça te mettra le pied à l'étrier.
Voici un bon tutoriel en anglais : http://powerbuilder.hyderabad-colleges.com/
en français : http://www.webprofesseur.com/pb/PB.HTM
Pour répondre à ta question, si tu regardes le constructeur de l'objet n.._connectservice, tu verras qu'il positionne les informations dans une variable appellée SQLCA.
Il s'agit d'une variable globale.
Bref pour résumer, le code que j'ai posté hier devrait suffire.
PS : Dans ton menu démarrer, il y a un "compiled html help file"
Comme son nom ne l'indique pas, il ne contient pas du tout la même chose que le "help files"
Bref, je t'en recommande la lecture. Notamment le "Datawindow programmer's guide", chapitre 2
Dernière modification par shahin (17-03-2011 10:26:35)
Hors ligne
Bonjour
Code PB
Sqlca.DBMS=profilestring("ton_fichier.ini","nom_section","DBMS","")
Et pour la doc
ProfileString ( filename, section, key, default )
filename A string whose value is the name of the profile file. If you do not specify a full path, ProfileString uses the operating system's standard file search order to find the file.
section A string whose value is the name of a group of related values in the profile file. In the file, section names are in square brackets. Do not include the brackets in section. Section is not case sensitive.
key A string specifying the setting name in section whose value you want. The setting name is followed by an equal sign in the file. Do not include the equal sign in key. Key is not case sensitive.
default A string value that ProfileString will return if filename is not found, if section or key does not exist in filename, or if the value of key cannot be converted to an integer.
En espérant que cela puisse t'aider.
Dernière modification par Soryu (18-03-2011 09:46:14)
Hors ligne
Bonjour,
mais lorsque j'essaye de mettre les instructions comme ci-dessous
dw_control.setTransObject(sqlca)
dw_control.retrieve()
j'obtiens cette erreur: Database transaction information not available Call SetTrans or SetTransObject function
pourtant l'objet sqlca est une variable global
Hors ligne
Tu les a mis dans quel évènement de ta fenêtre ?
Hors ligne
j'ai mis le code dans l'événement open() du datawindow
Hors ligne
correctif
j'ai mis le code dans l'événement open() de la fentre window
Hors ligne
Tu peux lancer ton applie en, mode debug et vérfier le conrtenu de SQLCA. Contient-t-il les mêmes infos que ton fichier .ini ?
Et tes informations de connexion sont-elles correctes ? tu peux te connecter directement à ta base depuis l'IDE PB ?
Enfin, tu as fait un check sur le code retour de la connexion à la base de données ?
Hors ligne
Bonjour,
Au vue de ton message d'erreur, il faut quand même se connecter à la base avant tout :
CONNECT USING SQLCA; IF SQLCA.SqlCode <> 0 THEN MessageBox("Erreur", "Erreur de connexion à la base de données") END IF
Hors ligne