Aide - Recherche - Membres - Calendrier
Version complète : comment ouvrir un pdb à attributs sur le palm ?
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
elyro
salut à tous !

Je me retrouve bloqué bêtement, je cherche à savoir comment ouvrir un fichier pdb à attributs dans un programme palm, existe t'il une fonction particulière, faut il mettre des codes type et appli spéciaux ?

Habituellement je travaille sur des fichiers créés à partir du palm, donc je n'ai pas à gérer les attributs, dans ce cas précis mon pdb vient d'un csv, il est impossible de faire la conversion (que je sache) sans indiquer des attributs dans le fichier .ifo, hors ce sont ces attributs qui empêchent (apparemment) ma base de données de s'ouvrir sur le palm !

Mon programme se ferme directement, le DmOpenDatabaseByTypeCreator renvoie 0 et le stop application intervient aussitôt !

Please, help me ! j'espère que vous avez de l'expérience en pdb à attributs !

merci.

elyro.
Patrice
8O Qu'est-ce que tu appelles des PDB à attributs ??? Il y a des attributs sur toutes les bases et la seule (ou une des seules) restriction(s) qui peut exister pour l'ouverture d'une base est qu'elle soit "lockée" par ailleurs (attribut "open")...
elyro
si je consulte mon pdb avec DB Viewer, j'ai les records 1,2,... puis attributes à la fin, soit le nom des champs qui composent mon pdb.

ma base refuse de s'ouvrir correctement quand elle contient des attributs.

Si tu as un programme qui gère une base de données qui arrive en pdb de l'extérieur, peut être cela pourrait m'aider !

merci.
Patrice
Le proclème n'est pas que le PDB soit créé "à l'extérieur" mais plutôt par quel programme il est créé. Bien que j'aie une petite idée, je ne vois pas tout à fait ce que sont ces attributs. En revanche, je doute quand même qu'ils fassent planter un DmOpenDatabase(), ou bien c'est que la base est carrément invalide...
elyro
Mon pdb vient d'un csv créé sous excel.

J'ai réussi à ouvrir la base, mais je n'arrive pas à accéder aux champs.

gDmHandleESPDB = DmOpenDatabaseByTypeCreator(ESPdbType, ESPdbCreator, dmModeReadWrite); ça marche comme ça, avec :

DmOpenRef gDmHandleESPDB;

#define ESPdbType 'DATA'
#define ESPdbCreator 'addr'

Par contre qd je fais une association avec un champs :

fnum_code_barre = FrmGetObjectPtr(pForm, FrmGetObjectIndex(pForm,Field_numcodebarre));

J'ai une erreur fatale !

Je dois revoir un peu tout ça !

Par hasard, tu ne saurais pas où trouver les drivers pour Sony clié
PEG-N770C, je n'arrive pas à l'installer sous XP !

merci.
SteC
CITATION(elyro)
Par hasard, tu ne saurais pas où trouver les drivers pour Sony clié  
PEG-N770C, je n'arrive pas à l'installer sous XP !

merci.


Tu n'as pas besoin de drivers pour cette machine, elle est reconnue à l'installation par le système. J'ai installé le mien sans dirvers sur XP Home et XP Pro.
elyro
alors mon XP décone parce qu'il n'y a pas moyen, il ne reconnait rien du tout chez moi !

pour l'instant j'abandonne, j'ai vu sur le net, que c'était un peu au petit bonheur la chance pour synchnoniser ce clié, j'approuve, je viens de passer 4 heures à essayer ....

Je testerai sur une autre machine.

merci qd m^m !
Patrice
CITATION(elyro)
Mon pdb vient d'un csv créé sous excel.

J'ai réussi à ouvrir la base, mais je n'arrive pas à accéder aux champs.

gDmHandleESPDB = DmOpenDatabaseByTypeCreator(ESPdbType, ESPdbCreator, dmModeReadWrite);  ça marche comme ça, avec :

DmOpenRef gDmHandleESPDB;

#define ESPdbType 'DATA'
#define ESPdbCreator 'addr'

Par contre qd je fais une association avec un champs :

fnum_code_barre = FrmGetObjectPtr(pForm, FrmGetObjectIndex(pForm,Field_numcodebarre));

J'ai une erreur fatale !

Je dois revoir un peu tout ça !

Par hasard, tu ne saurais pas où trouver les drivers pour Sony clié  
PEG-N770C, je n'arrive pas à l'installer sous XP !

merci.

Tu es en train de mélanger des choux et des carottes : la base 'DATA' / 'addr' est le carnet d'adresse du Palm et surement pas ta base convertie d'un CSV...
Ensuite quand tu fais FrmGetObjectPtr(), cette instruction n'a rigoureusement rien à voir avec ta base de données puisqu'elle te permet uniquement de récupérer un pointeur sur un élément d'interface utilisateur...
elyro
je suis un peu perdu..... mais ne t'inquiètes pas, je suis au courant que ce que j'écris en seconde partie ne concerne pas la base de donnée directement, seulement la récupération d'un pointeur sur un champs de ma form. J'ai mal exprimer ma requête une fois de plus ! bref j'avais une erreur la dessus et je chercher à savoir quel était le problème qd le programme bloqué sur ce type d'association. c réglé d'ailleurs.

Excuses moi pour ces mélanges, mais effectivement je ne sais plus d'où donner de la tête... il ya beaucoup de déclaration que j'utilise souvent mais que je ne maitrise pas, si j'avais su avant que les champs app et creator étaient notés quelques part noir sur blanc dans db viewer j'aurai perdu moins de temps, mais voilà, ce n'est pas clair du tout dans les morceaux de tutoriaux que je parviens à récupérer sur le net. Quand j'ai commencé à afficher les champs de la base d'adresse j'ai vite compris !

Disons peut être que je vais un peu trop loin, car je n'ai aucun documents bien %#!§@çu pour travailler !

En tout cas tout est rentré dans l'ordre, ma base s'ouvre, maintenant je cherche à accèder aux records facilement.

Mes anciens programmes traitaient des architectures de base de données identiques et simples, donc je n'avais jamais eu de problème.

merci de ta compréhension, et pardon si tu n'aimes pas la salade ! lol

tchao

elyro
Patrice
Ya pas de loup, j'ai peut-être oublié un anim_wink.gif dans mon post anim_wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.