begin process at 2008 08 22 01:05:15
1 229 731 membres
3 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème SQL TQuery [ Autre / Débutant(s) ] (corole3)

Problème SQL TQuery le 23/10/2007 00:53:23

corole3
Probleme avec un TQuery + requetes

Bonsoir,

j'arrive à envoyer  ma requête à ma base via SQL explorer, tout fonctionne.
Si je met ma requête dans un TQuery, rien ne se passe.
1°) Comment configurer cela ?
Ci-dessous, ma requête SQL qui fonctionne dans SQL explorer

select * from MaBase where livre = '66'
and chapitre = '10'
and phrase ='9'


2°)Comment afficher toutes les phrases du résultat( plutôt que de les voir une par une dans un DBGrid) dans un DBMemo ?

3°)Comment mettre dans la requête phrase '9' jusqu'à phrase'11' par exemple ?

Merci



Corole3

Re : Problème SQL TQuery le 23/10/2007 10:02:00

dominique.stock
Bonjour,
1.) Peux-tu nous montrer ton code ?
2.) lire le résultat du TQuery et concaténer les différentes lignes du résultat.
3.) Soit  
    convert(integer,phrase)>=9 and convert(integer,phrase)<=11
   ou
    phrase='9' or phrase='10' or phrase='11'


Dom

Re : Problème SQL TQuery le 23/10/2007 13:44:18

corole3
Bonjour,

Voici le code :

procedure TForm1.Button1Click(Sender: TObject);
begin
{//Table1.Active := false;
Query1.Open;
Query1.SQL := MemoRequete.Lines;
 Query1.Active := true;
Query1.ExecSQL;
Query1.Active := false; }
//with Table1 do begin
rXQuery1.Close;
rXQuery1.SQL.Clear;
rXQuery1.SQL.add('SELECT ');//
      rXQuery1.SQL.add('Livre');
       rXQuery1.SQL.add('FROM MaBase.db');
     rXQuery1.SQL.add('WHERE Livre = 01O');
//rXQuery1.RequestLive := true;
rXQuery1.open;
//end;
end;

Le code qui fonctionne sous SQL explorer a été mis dans un DBMemo dans mon code dans un premier temps. Cela ne fonctionnait pas. J'ai voulu voir si j'avais plus de succès avec un RxQuery.
J'ai essayé la méthode proposée dans l'aide en ajoutant partie de requête. Toujours rien.


Merci

Corole3

Re : Problème SQL TQuery le 23/10/2007 15:09:42

dominique.stock
Si tu veux utiliser un TQuery (BDE sous delphi) il faut que celle-ci soit relier à un composant TDatabase pour pouvoir se connecter à la base de données.
Ensuite :
Query1.close;
Query1.sql.clear;
Query1.SQL.add(MemoRequete.Lines.text);
Query1.open;

Et cela suffit ....

rxQuery je ne connais pas.
Tu travailles en quel langage ?


Dom

Re : Problème SQL TQuery le 23/10/2007 18:40:14

corole3
Salut Dom,

c'est exactement ce code que j'avais fais en première instance avant les autres modifications
[code]Query1.close;
Query1.sql.clear;
Query1.SQL.add(MemoRequete.Lines.text);
Query1.open;[/code]

Ce code à l'air de faire quelquechose ( puisque je n'ai pas d'erreur SQL comme pour les autres codes), mais je ne vois pas de résultat dans le DBGrid comme dans SQL Explorer, et moi, je m'attendais à voir des changements à ce niveau.
Serait-ce donc un problème au niveau de l'affichage du DBGrid ou autre composant ?

Je suis sous Delphi 5 Pro avec une base Paradox sur ce projet.

Merci Dom


Corole3

Re : Problème SQL TQuery le 23/10/2007 23:31:23

corole3
Salut,

2°) C'est peut être de là que vient mon problème.
J'ai procédé ainsi, tu me dis si c'est correct :

* j'ai un TTAble, un DBGrid, un DBMemo,un TQuery, un TMemo (pour les requêtes "MemoRequete"), un TDataSource et un DBNavigator, tout ceci correctement associés et fonctionnel.
* Lorsque le programme est lancé, la table est ouverte et je vois mes champs dans le DBGrid et les phrases dans le DBMemo et je peux naviguer avec le DBNavigator.
* Lorsque je lance la requête, je n'ai pas de messages d'erreurs SQL, mais le DBGrid n'affiche pas seulement le résultat de la requête comme dans l'explorer. J'ai même essayé de désactiver la table et de l'activer après la requête, sans succès. Je ne comprends plus. Ci-dessous, mon code


 3°)  j'ai trouvé ça :
and phrase between '9' and '11'

ça, ça marche dans l'explorer,  mais toujours pas dans mon programme

Corole3

Re : Problème SQL TQuery le 24/10/2007 10:07:24

dominique.stock

 

TQuery doit être lié à ta Tdatasoucre,

TDbgrid doit être lié à ta Tdatasource.

pour tester, dans l'IDE, tu met une requête ditrectement dans ta TQuery , (select * from maBase)
tu active ta Tquery et tu vois ce que cela donne.

Cela dit, je ne suis pas expert en Paradox ...

3°) OK mais méfies toi, c'est du texte .... et non des integer



Dom


Re : Problème SQL TQuery le 24/10/2007 23:53:21

corole3
Bonsoir Dom,

j'ai passé une bonne partie de la journée dessus, je ne comprends pas.
 j'ai enlevé tous les composants et remis d'autres (TTable, DBGrid, TDAtaSource, TQuery) me disant que peut être ai je du modifier un paramètre dans un ou plusieurs composants par mégarde, donc je les remets tous par défaut, et rien ne marche. Pourtant, tout fonctionne dans explorer. Est-ce un problème de pilote ou autre qu'explorer adapte et pas mon prog ?

Le mystère reste entier.

Merci

Corole3

Re : Problème SQL TQuery le 25/10/2007 00:32:43

corole3
j'y pense, est-ce possible de remplacer tous les composants bde par de  l'ADO ? si ou comment ? je ne les connais pas

Merci

Corole3


Classé sous : problème, sql, requête, phrase, tquery

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS