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 :

Query sur table mysql avec TQuery


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Mars 2002
    Messages : 230
    Points : 127
    Points
    127
    Par défaut Query sur table mysql avec TQuery
    Bonjour,

    J'essaie de faire une requête sur une table mysql avec le composant TQuery et TDataSource.
    Je n'arrive pas á le faire fonctioner!
    Si je met TQuery.requestlive := true, delphi me dit que la table est en lecture seule.
    Si par contre je connecte une table (TTable & TDataSource) sur le même dbgrid, ca fonctionne comme il faut!

    J'utilise delphi6. la base Mysql est située sur un serveur.
    Apparament tout fonctionne

    Est ce que vous avez une idée de ce qui ne va pas?

    Sincérement
    Jean-Christophe
    Sincérement
    Jean-Christophe

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 037
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Pourquoi RequestLive = true ?
    Quel est le texte de de la query ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Mars 2002
    Messages : 230
    Points : 127
    Points
    127
    Par défaut
    Bonjour Sergio Master,

    Merci pour ta réponse.
    Ce que j'ai fais maintenant c'est que j'ai remplacé le composant TQuery par un composant ADOTQuery.
    Ca a résolu tous mes problémes.

    Pour répondre á tes questions:
    Je ne connais pas requestlive je dois l'avouer, mais au moins j'avais une réaction du TQuery.
    La requête était:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ObjetField := 'Nogle' ;
    ObjetField := KatalogetInit + 'Nogle' ;
    if Qr_Objet_Grid.State <> dsInactive then Qr_Objet_Grid.Close ;
    Qr_Objet_Grid.SQL.Clear ;
    Temp := 'SELECT * FROM objekt4 ' ;
    Temp := Temp  + 'WHERE ' + ObjetField + ' = "' + dt_Kat_Nogle.Text + '" ;' ;
    Qr_Objet_Grid.SQL.Add (Temp) ;
    Qr_Objet_Grid.SQL.Prepare:
    Qr_Objet_Grid.Open ;
    Merci encore
    Sincérement
    Jean-Christophe
    Sincérement
    Jean-Christophe

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 037
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Quelques suggestions

    tout d'abord TQuery (sauf erreur de ma part) fonctionne avec le BDE <- donc cela devient a éviter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    //if Qr_Objet_Grid.State <> dsInactive then Qr_Objet_Grid.Close;
    // dans tous les cas ce sera fermé donc un simple 
    Qr_Objet_Grid.Active:=False;  // suffit
    // Qr_Objet_Grid.SQL.Clear ; inutile dans ce cas car tout est dans temp
    // cependant il faut faire attention aux espaces
    Temp := 'SELECT * FROM objekt4 ' ;
    Temp := Temp  + ' WHERE ' + ObjetField + ' = ' +QuotedStr(dt_Kat_Nogle.Text) ; // pas besoin de ; à la fin
    //Qr_Objet_Grid.SQL.Add (Temp) ;  remplacer par
    QR_Object_Grid.SQL.Text:=Temp 
    { ou alors sans variable temp :c + cool:
      Qr_Objet_Grid.SQL.Add ('SELECT * FROM objekt4');
      Qr_Objet_Grid.SQL.Add ('WHERE ' + ObjetField + ' = ' + QuotedStr(dt_Kat_Nogle.Text));
    }
    // Qr_Objet_Grid.SQL.Prepare:  inutile aucun paramètres 
    Qr_Objet_Grid.Open ; // je prefere Qr_Objet_Grid.Active:=True;

    Quant au requestlive , que j'utilise rarement , je ne le met que lorsque j'ai déclaré aussi en cachedupdates mais c'est une autre histoire
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Mars 2002
    Messages : 230
    Points : 127
    Points
    127
    Par défaut
    Merci pour ta réponse SergioMaster
    Je prends note des conseils!
    a+ (le contraire m'étonnerait )

    Bonne journée
    Sincérement
    Jean-Christophe
    Sincérement
    Jean-Christophe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 21/06/2011, 17h13
  2. recherche sur table mysql avec deux index
    Par Invité1 dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/05/2010, 11h41
  3. export avec query sur table partitionnée
    Par pat29 dans le forum Import/Export
    Réponses: 2
    Dernier message: 19/01/2009, 18h07
  4. Erreur 145 sur table mysql
    Par ramses83 dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/09/2007, 21h09
  5. Query sur plusieurs colonnes avec count(distinct...)
    Par Jeankiki dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/08/2004, 15h22

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