IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Requete SQL et transfert


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Par défaut Requete SQL et transfert
    J'ai un logiciel delphi qui effectue une requête SQL sur un serveur à distance.
    Celle-ci retourne quelques milliers d'enregistrement comprenant passablement de champs.

    Le logiciel n'affiche qu'un seul enregistrement à la fois et on peut naviguer d'un enregistrement à l'autre grâce un dbnavigator.

    Le problème que j'ai est que je trouve le lancement de la requête trop lent.

    Je regarde mon moniteur internet et il semble que le serveur envoie tous les enregistrements de la requête à mon logiciel.

    Je ne connais pas beaucoup le monde des bases de données mais y aurait-il un moyen d'effectuer la requete sur le serveur et que celui-ci ne me transfere que l'enregistrement affiché dans le logiciel ?

    Peut-être avec le mot clé "LIMIT" ? Mais alors comment gérer le navigator pour passer à un autre enregistrement ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut
    Quelle Base de Données ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Par défaut
    MYSQL

  4. #4
    Membre éclairé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Par défaut
    Bonjour, je ne pratique pas MySQL mais pou Oracle je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL.Add('SELECT  * from (select * from "Table1") where rownum <= 1');
    pour la 1ere ligne.
    Pour la ligne 2:etc...

    Je ne sais pas si ça aide.

    André

  5. #5
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Par défaut
    la requete sous Mysql pour retourner les 3 premiers enregistrement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table LIMIT 3
    Pour retourner un groupe d'enregistrement du 6ème au 20ème enregistrement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table LIMIT 5,14
    Ensuite tu peux controler toi même les évenements du dbnavigatore ou te faire ton propre dbnavigatore.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Par défaut
    Bonjour,

    Est il possible de paramétrer ta requête pour qu'elle ne t'envoie que le l'enregistrement voulu.

    A+

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Par défaut
    Je ressors ce sujet car le problème est toujours présent.

    Le problème est qu'il est impossible d'obtenir (à ma connaissance) un requête "requestlive" si on met "LIMIT 1" dans la requete sql.

    Bref je veux transférer qu'un seul enregistrement à la fois et pouvoir le modifier.

    C'est tout bête mais j'y arrive pas.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Par défaut
    Bon finalement j'ai trouvé une solution.
    J'ai tout simplement laissé Requestlive à False en gardant "LIMIT" dans ma requête.

    Lorsque je veux modifier l'enregistrement:

    1.Je note la valeur du champs de la clé primaire de l'enregistrement en cours.

    2.Je ferme la requête en cours

    3.Je vire le "LIMIT" de ma requête

    4.J'ajoute un "WHERE Cleprimaire=" valeur pris dans l'étape 1 à la requête

    5.Je met requestlive à true

    6.Je rouvre la requête

    et là je peux modifier l'enregistrement.

    Si je confirme ou annule les changements je change la requête à nouveau en utilisant Requestlive a false et la clause "LIMIT"

    J'aurais aimé trouver une méthode moins "manuelle" mais bon...

Discussions similaires

  1. requete SQL lors du transfert table+ champ ente access et excel
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 18/10/2007, 18h11
  2. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31
  3. requete sql
    Par autumn319 dans le forum ASP
    Réponses: 22
    Dernier message: 10/09/2003, 16h46
  4. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo