changer la table d'un requête avec un TPARAM .. [Delphi SQL] - Delphi/Pascal - Programmation
Marsh Posté le 03-05-2002 à 13:59:23
"Changer la table d'un requête"
Je suppose que tu ne peux faire des modifs aux propriétés telles que le nom de la table que quand le TQuery ("requête" ?) est "Closed"
Enfin j'ai pas tout pigé à la question
[jfdsdjhfuetppo]--Message édité par antp le 03-05-2002 à 14:00:18--[/jfdsdjhfuetppo]
Marsh Posté le 03-05-2002 à 14:01:37
un exemple s'impose
voilà ce que serait par exemple mon sql:
SELECT *
FROM :MaTable1 M1, :MaTable2
WHERE M1.field = M2.field;
voilà
Marsh Posté le 03-05-2002 à 15:19:44
On peut mettre des paramètres dans le FROM ? J'avais jamais vu ça... Je suis pas sûr que tu puisse.
Mais quel est l'intérêr ? À priori c'est toujours une chaine, donc si tu mets ceci:
Format("SELECT * FROM %s, %s WHERE M1.field = M2.field;", [nomtable1, nomtable2]);
ça sera plus simple à gérer, non ?
[jfdsdjhfuetppo]--Message édité par antp le 03-05-2002 à 15:21:24--[/jfdsdjhfuetppo]
Marsh Posté le 03-05-2002 à 16:28:50
antp a écrit a écrit : On peut mettre des paramètres dans le FROM ? J'avais jamais vu ça... Je suis pas sûr que tu puisse. Mais quel est l'intérêr ? À priori c'est toujours une chaine, donc si tu mets ceci: Format("SELECT * FROM %s, %s WHERE M1.field = M2.field;", [nomtable1, nomtable2]); ça sera plus simple à gérer, non ? |
oui, je suis obligé de réécrire la requete en dur, c'est moins propre mais sa roule
autre question:
j'ai une requête avec un champ un peu space à faire:
INSERT INTO matable (champs_date) VALUES 02\/03\/2002;
la syntaxe du sql doit absolument être celle là, sinon, ça marche pas (SGBD qui boule )
quel type de TParam dois-je utiliser pour pouvoir générer des requetes comme ça ? (le type date ne marche pas, le string non plus, il faut pas de guillemets)
j'espère que je vais pas encore être obligé de réécrire la requete à chaque fois
Marsh Posté le 03-05-2002 à 17:15:47
Pourquoi ça va pas de mettre directement la requête SQL ? Y a pas mal de programmes qui fonctionnent comme ça.
Ça ne pose aucun problème, au moins tu contrôle vraiment ce qui se passe...
Marsh Posté le 03-05-2002 à 19:15:35
pareil que antp... si vraiment tu ne veux pas mettre ta requete en dur dans le code, fait unfichier de ressources ou un fichier ini ou autres et mets-y ta requete avec les %s . comme ca si ta requete vient a changer, tu n' auras pas a modifier ton code.
Marsh Posté le 03-05-2002 à 13:58:18
j'ai essayé de faire ça mais j'ai pas réussi ...
je m'y prends mal ou c'est impossible ?