IPfiX
Messages postés3Date d'inscriptionsamedi 23 septembre 2006StatutMembreDernière intervention12 janvier 2007
-
10 janv. 2007 à 11:13
IPfiX
Messages postés3Date d'inscriptionsamedi 23 septembre 2006StatutMembreDernière intervention12 janvier 2007
-
12 janv. 2007 à 15:16
Bonjour à tous,
je suis sous FoxPro 9 SP1 et j'expérimente actuellement les CursorAdapter. J'utilise une connexion VFP native pour une base FoxPro et une connexion ADO pour une base de données Oracle.
L'utilisation du CursorAdapter me permet de travailler sur les 2 moteurs de base de données de façon transparente, mais le problème (important) est que quand je crée un curseur je n'arrive pas à récupérer les valeurs par défaut des champs sollicités.
Je n'ai trouvé aucune information sur ce sujet dans la doc ou sur le net.
Est-ce possible de récupérer ces information dans mes curseurs, et si oui comment ?
Merci pour vos réponses.
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 10 janv. 2007 à 18:59
là, je ne te suis plus :
1) si tu fais un select * from matable, c'est que tu récupères les lignes existant dans ta table, donc la valeur par défaut des champs n'a aucune importance, ce sont les valeurs stockées qui comptent pour toi
(soit dit en passant, si tu peux éviter les select * et nommer tes colonnes, ça sera mieux pour la suite, ce select * est un vrai casse-g..)
2) et si tu fais un insert dans ton CA, en laissant vide les champs qui ont une valeur par défaut, eh bien c'est lors de l'insertion physique de ton enregistrement dans ta table que la valeur par défaut remplacera ce "manque", et je ne vois pas ce qui te préoccupe.
Donc dans les 2 cas, la valeur par défaut est sans importance pour toi, et c'est normal et même c'est fait pour ça : le curseuradapter est du coté client, alors que la valeur par défaut est du coté serveur. la valeur par défaut est justement faite pour que le coté serveur assure la cohérence des données, même en cas de renseignements incomplets provenant du client.
IPfiX
Messages postés3Date d'inscriptionsamedi 23 septembre 2006StatutMembreDernière intervention12 janvier 2007 10 janv. 2007 à 17:25
En fait, lorsque je met "select * from matable" dans le .SelectCmd de mon CA j'aimerai que les valeurs par défaut des champs de "matable" soient reprises.
Ainsi je pourrai faire un insert dans le CA sans renseigner tous les champs qui prendraient donc leur valeur par défaut définie dans la base de données.
IPfiX
Messages postés3Date d'inscriptionsamedi 23 septembre 2006StatutMembreDernière intervention12 janvier 2007 12 janv. 2007 à 15:16
Merci beaucoup, c'est très clair, et c'est effectivement le comportement que j'attendais du CA.
J'ai fais plusieurs tests concluant en utilisant le "append blank" pour créer les nouveaux enregistrements.
En fait j'avais posé la question parce qu' avec la syntaxe sql j'ai eu des comportements différents dans mon environnement de travail. Qd je faisais "Insert into Matable(Champ2, Champ3) Values ("STRING", "STRING")" j'avais le message "impossible d'insérer .NULL. dans la clé primaire (Champ1). J'ai répété ce test plusieurs fois et n'ai pas toujours eu le message d'erreur, bizarre ...
Mais bon l'essentiel est que maintenant ça fonctionne et que le comportement du CA soit bien celui que vous avez décrit ...
Merci encore.