Requête SQL foireuse [ASP] - ASP - Programmation
Marsh Posté le 04-02-2003 à 15:18:29
Ben t'as qu'à la tester sous access (tu la tapes en SQL et tu passes en mode graphique) par exemple et tu trouveras tout de suite ce qui cloche ... Ca aide.
Marsh Posté le 04-02-2003 à 15:20:04
Vérifie la valeur de : Session("adop_id" )
Marsh Posté le 04-02-2003 à 15:27:09
pas con pour le test sous access, par contre je peux pas pour le moment (pas access sous la main)
pour la valeur de la session, j'ai controlé et remplacé par un chiffre en dur, ce n'est pas le problème.
je suis en train de tester du coté de INNER JOIN dans la requete, mais j'ai encore des problèmes. y'a-t-il une spécialité avec cette utilisation?
Marsh Posté le 04-02-2003 à 15:32:16
l'erreur quand j'utilise le inner join:
Join expression not supported.
Marsh Posté le 04-02-2003 à 15:43:28
J'avais pas vu que c'était de l'Access
Je suis sûr que tu vas trouver le moyen de remplacer cette M... par une vraie Base de données.
Marsh Posté le 04-02-2003 à 15:49:17
je sais bien que c'est de la merde, mais bon c'est pour un petit site sans prétention
y'a quoi comme base que je pourrais utiliser à la place? (meme si ca ne résoud pas mon problème )
Marsh Posté le 04-02-2003 à 16:00:16
j'ai pu tester sous access finalement
alors il ne supporte pas le inner join, et il bug total quand je fais la requete.
apparemment il merde car il me dit que j'ai pas fais les jointures (évidemment).
est-ce que je suis obligée de les faire sous access pour pouvoir utiliser ma requete depuis l'asp??
Marsh Posté le 04-02-2003 à 16:02:43
ça par exemple ça donne quoi ?
Set oRs = oConnection.Execute ("SELECT o.adop_objet_objet
as adop_objet_objet FROM t_adop_alloc a,t_adop_objet o WHERE o.adop_objet_id = a.adop_alloc_objet_id AND a.adop_alloc_adop_id = 1"
oRs.MoveFirst
DO WHILE not oRs.EOF
response.write oRs("adop_objet_objet" )
oRs.movenext
LOOP
Marsh Posté le 04-02-2003 à 16:08:58
Les plus simples:
MySql : http://www.mysql.com/downloads/mysql-3.23.html
MSql : http://www.hughes.com.au/products/msql/
Plus dur, mais aussi plus puissant
PostGreSQL : ftp://ftp2.fr.postgresql.org/post [...] 1/Windows/
Oracle : Pourquoi pas si t'arrive à l'installer
SQL-SERVER...
Marsh Posté le 04-02-2003 à 16:10:06
Mara's dad a écrit : Les plus simples: |
qui voilà
Marsh Posté le 04-02-2003 à 16:14:24
bon le truc c'est que je n'administre pas mon propre serveur
pour ta requete vttman2, elle me fait la meme erreur que donnée dans mon premier post, c'est pas un problème de confusion de champs.
par contre je crois avoir trouvé la soluce au problème, en fait il faut d'abord que je fasse les relations sous access, puis utiliser inner join. mais qqun sait-il quelle requete sql je dois faire pour créer cette relation? c'est qqch comme "constraint" c'est ca?
Marsh Posté le 04-02-2003 à 16:27:33
Et ça ? Si ça fait la même erreur je change de disque ...
Set oRs = oConnection.Execute ("SELECT o.adop_objet_objet
as adop_objet_objet FROM t_adop_alloc a,t_adop_objet o WHERE o.adop_objet_id = a.adop_alloc_objet_id AND a.adop_alloc_adop_id = 1"
oRs.MoveFirst
DO WHILE not oRs.EOF
oRs.movenext
LOOP
Cela dit sous Access les jointures comme tu fais
marchent sans prob ... pas besoin normalement
de inner join
Marsh Posté le 04-02-2003 à 16:40:12
Juste pour dire et si ça peut t'aider ...
SELECT det_commande.a, det_commande.b, det_commande.c
FROM Table_commande INNER JOIN
det_commande
ON (det_commande.b = Table_commande.b)
AND (Table_commande.a = det_commande.a);
<=>
SELECT det_commande.a, det_commande.b, det_commande.c
FROM Table_commande ,det_commande
where det_commande.b = Table_commande.b
AND Table_commande.a = det_commande.a;
Je viens de tester direct sous Access
Marsh Posté le 04-02-2003 à 16:46:22
yes ca fonctionne cette fois, je confirme vtt
par contre si qqun peut m'aider en me donnant la syntaxe sql pour créer la relation, ca m'aiderait, car cette fois j'ai pu importer la base, la modifier et la renvoyer, mais faudrait que j'évite fortement dans l'avenir
Marsh Posté le 04-02-2003 à 17:09:13
DarkLord a écrit : |
Ben oui je passe de temps en temps...
Pas souvent c'est sûr, j'ai plein de boulot.
Ca me fait penser que j'ai une question...
Marsh Posté le 04-02-2003 à 22:28:52
je confirme, tout fonctionne très bien maintenant
juste avoir le sql et on pourra clore ce topic
Marsh Posté le 07-02-2003 à 08:16:00
je réitère ma question, j'aimerais savoir si il est possible de créer une relation dans ma table access à l'aide d'une requête sql (pour ne pas avoir à charger la base, puis la re-uploader).
merci
Marsh Posté le 04-02-2003 à 14:01:56
Set oRs = oConnection.Execute ("SELECT * FROM t_adop_alloc,t_adop_objet WHERE adop_objet_id = adop_alloc_objet_id AND adop_alloc_adop_id = " & Session("adop_id" ))
oRs.MoveFirst
DO WHILE not oRs.EOF
response.write oRs("adop_objet_objet" ) & oRs("adop_alloc_objet_id" ) & "<br>"
oRs.movenext
LOOP
j'ai toujours su me débrouiller pour les requêtes simples sur une seule table, mais il me fait toujours la meme erreur pour celui-là, à savoir
Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
est-ce du à ma requete sur plusieurs tables ou une erreur de syntaxe? j'ai essayé de la retourner dans tous les sens mais rien n'y fait