Accueil > Forum > > > > Grille
Grille
lundi 28 mai 2007 à 13:53:31 |
Grille

zouheir_ali
|
Bonjour à tous, Je travaille avec vfp9 et sqlserver, je voudrais savoir s'il y a une différence entre recordsourcetype = alias et Recordsourcetype = instruction sql concernant une grille, et s'il y a des avantages ou inconvénients. Merci
|
|
lundi 28 mai 2007 à 18:11:00 |
Re : Grille

MichelAtoutFox
|
Bonjour,
en terme de performances, je n'ai jamais remarqué de différence entre les deux RecordSourceType.
D'une façon générale, j'essaie de ne pas mettre dans la couche de présentation (les controles visuels) ce qui relève de la couche d'accès aux données ou de la couche métier. Donc les instructions SQL sont plutot dans les vues, les cursoradapters, les objets cursors (ou des méthodes de DataEnvironment, ou de tout autre objet métier), bref, dans tout ce qui me renvoie des curseurs avec un nom d'alias que je vais utiliser comme RecordSource de mes grid.
|
|
mardi 29 mai 2007 à 08:57:52 |
Re : Grille

zouheir_ali
|
Bonjour,
Merci Michel de ta réponse. je travaille avec sqlserver et j'utilise spt, que me conseillez vous comme utilisation. voici la façon dont je travaille : 1.voici la code pour alimenter une grille (Recordsourcetype = instruction sql ) thisform.grille.recordsource = "sqlexec(hConn, 'select * from ...', 'moncurseur')" 2. ou bien je crée le curseur ensuite j'affecte le curseur au recordsourcede la grille (Recordsourcetype = alias) thisform.grille.recordsource = 'moncurseur'
Merci
|
|
mardi 29 mai 2007 à 11:38:38 |
Re : Grille

MichelAtoutFox
|
Bonjour,
c'est la 2ème méthode qu'il faut utiliser. Tu crées ton curseur dans une commande spt, et c'est ce curseur que tu affectes comme recordsource.
en spt, il te faut toujours vérifier la valeur de retour du sqlexec (0, 1, ou -1) pour t'assurer que ton instruction est terminée, et que tout s'est bien passé. et en vfp9, tu peux utiliser le tableau de retour (le dernier paramètre optionnel de sqlexec) pour connaitre le nombre de lignes retournés dans le curseur.
|
|
mardi 29 mai 2007 à 12:56:28 |
Re : Grille

zouheir_ali
|
Bonjour,
Encore une fois Merci Michel de ta réponse, un grand Bravo de ma part même si vous êtes bénévole (c'est ta réponse). Pour le retour en cas de problème j'utilise le code suivant que pense tu?
_erreur = sqlexec(hconn, 'select * from ...', 'moncurseur') if _erreur < 0 aerror(_tab_erreur) =messagebox(_tab_erreur [2],48,transform(_tab_erreur[5])) return endif 2. pour ce qui est retour de l'erreur à chaque création d'un curseur en spt j'utilise le code ci dessus, y a t'il un moyen d'écrire une seule fois ce code pour l'appeler à chaque création d'un curseur? Merci
|
|
mardi 29 mai 2007 à 21:16:04 |
Re : Grille

MichelAtoutFox
|
Bonjour,
si ce traitement d'erreur te convient, conserve-le ; personnellement je procède à une analyse plus complète pour vérifier que je ne reçois pas 0 (encore en cours d'exécution), et si j'ai reçu -1 pour procéder aux vérifs de connexion. Mais là, c'est toi qui voit si ça te convient comme tu l'as écrit.
pour ne pas avoir à réécrire ce code à chaque fois, il faut le mettre dans une procédure au bon endroit (je dirais soit dans une classe de dataenvironment, soit dans une classe de cursor) et appeler cette procédure en lui passant les paramètres. Est-ce que tu veux mettre aussi le sqlexec dans la procedure, ou seulement le traitement de l'erreur?
|
|
mercredi 30 mai 2007 à 08:57:23 |
Re : Grille

zouheir_ali
|
Bonjour,
Encore une fois merci Michel de ta réponse, j'espère te rencontrer en septembre aux rencontres AtoutFox, je suis encore débutant et j'ai beaucoup à apprendre surtout d'un expert comme toi Michel. En ce qui concerne le traitement d'erreur je n'ai pas bien compris "je procède à une analyse plus complète pour vérifier que je ne reçois pas 0 (encore en cours d'exécution)" un petit exemple serais le bienvenue. Pour la procédure "dans une classe de dataenvironment", je dois créer une classe Dataenvironment?, ou mettre cette procédure? Les paramètres sont par exemple le numéro de connection, la requête, le nom du curseur...?
Merci
|
|
dimanche 3 juin 2007 à 10:42:48 |
Re : Grille
|
dimanche 3 juin 2007 à 14:52:23 |
Re : Grille

MichelAtoutFox
|
Bonjour,
Une des premières choses à faire quand on développe en VFP, c'est de sous-classer toutes les classes de base de VFP dans une bibliothèque qui servira ensuite de point de départ pour sous-classer et surcharger en fonction des besoins de développement.
Dans cette démarche, on néglige souvent les classes d'accès aux données (dataenvironment, cursor, cursoradapter, relation). Il faut le faire, pour pouvoir ensuite facilement ajouter des méthodes.
Par exemple: - pour tous mes form de premier niveau (ceux qui remplacent le _screen), j'utilise une classe de dataenvironment à laquelle j'ai ajouté une méthode getinientry qui accède aux fichiers ini dont j'ai besoin, et dans la méthode beforeopentables de cette classe, je vais utiliser cette métode pour lire dans les bons fichiers ini les éléments de base de mes connectstring pour mes vues et mes requètes SQL (le nom du serveur, le driver à utiliser, la database du dossier des paramètres généraux, etc) - pour tous mes forms de gestion simple des données, j'ai une autre classe de dataenvironment qui contient tous les cursors (eux-même dérivés de classes dérivées) dont je peux avoir besoin dans ces forms
On en parle aux prochaines Rencontres AtoutFox si tu veux.
|
|
dimanche 3 juin 2007 à 18:08:14 |
Re : Grille

zouheir_ali
|
Réponse acceptée !
Bonjour, Merci Michel une nouvelle fois de ta réponse, ce sera pour moi un grand plaisir de te rencontrer dans les rencontres Atoutfox et je voudrais être ton élève parmi d'autres. j'ai beaucoup à apprendre.
|
|
Cette discussion est classée dans : grille, recordsourcetype
Répondre à ce message
Sujets en rapport avec ce message
Grille [ par gh57 ]
1°) Comment ne pas afficher les zéros dans une grille 2°) Comment valider un enregistrement dans un control grid 3°) Comment passer d'un enregistremen
colorier une ligne d'une grille [ par ducker88 ]
Bonjour,voila mon probleme, je suis en train de faire des modifications sur un programme ecrit en foxpro, l'une de ces modifications consiste a mettre
vfp grid [ par zouheir_ali ]
Bonjour à tous,Je voudrais accéder dans une cellule d'une grille dans une colonne bien déterminé même si la grille contient plusieurs colonnes.Soit je
re set filter to [ par brunaux ]
bonjourmerci mike pour les réponses.je vois que tu n'apprecie pas trop SET FILTER TO,je trouve pourtant que c'est bien pratique et rapide pour les déb
Sélection ou Highlight d'une ligne dans une grille [ par renaudsegur ]
Bonjour,débutant en VFP, je souhaite sélectionner une ligne entière, ou un groupe de cellules d'une grille, mais sans passer par Grille.ActivateCell c
datetime et SqlServer [ par zouheir_ali ]
Bonjour à tous,Je travaille avec vfp6 et sqlserver.dans une table sqlserver j'ai un champ de type datetime, une grille dans vfp est remplie avec une r
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LES SERVICES D'APPLICATIONS DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LES SERVICES D'APPLICATIONS DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Xavier Moreels et Julien Bakmezdjian Ce sujet est lié au partage des applications comme services dans SharePoint 2010, ceci représente la possibilité de créer sa propre application qui sera utilisable comme ceux en standard : Search...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA GED ET SHAREPOINT 2010TECHDAYS PARIS 2010 : LA GED ET SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Etienne Lacour Cette session a commencé par un rappel de la gestion de contenu et surtout une résumé des points ayant été amélioré avec 2010. Accompagné d'un point sur le cycle de vie des documents. Un rappel du fonctionnement de S...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : SHAREPOINT 2010 ET LES RéSEAUX SOCIAUXTECHDAYS PARIS 2010 : SHAREPOINT 2010 ET LES RéSEAUX SOCIAUX par ROMELARD Fabrice
Animé par: Olivier Lepeltier et Karim Manar Cette session commence par la présentation du concept de réseau social, mais surtout de la particularité de du réseau social dans une entreprise. La vision du réseau social est donc une extension du MyS...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : SHAREPOINT 2010 - DESCRIPTION ET NOUVEAUTéSTECHDAYS PARIS 2010 : SHAREPOINT 2010 - DESCRIPTION ET NOUVEAUTéS par ROMELARD Fabrice
Animé par: Karim Manar et Laurent Beaudouin Cette session a pour but de revenir sur ce qu'est SharePoint globalement, mais aussi de voir les évolutions liées avec l'avènement de la version 2010. A partir de la marguerite de...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE LUNDITECHDAYS PARIS 2010 : PLEINIèRE LUNDI par ROMELARD Fabrice
Comme chaque année, c'est le grand rassemblement autour des technologies Microsoft qui se déroule donc à Paris au Palais des Congrès. Cette année est riche pour Microsoft en terme de livraison produit, paris l...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|