Rechercher : dans
Par :

Requete sql en asp

Dernière réponse le 20 mar 2001 à 09:50:25 fabrice, le 19 mar 2001 à 12:49:32 
 Signaler ce message aux modérateurs

Je souhaie effectuer une requete sql dans une base access 2000 en langage asp.
Mais je ne recupere pas les données correspondant à ma requete mais tout le champs de ma table
voici mon code:
req="SELECT tech.intervenant FROM tech WHERE (((tech.login)=login) AND ((tech.motdepasse)=motdepasse));"

'Creation d'un recordset et execution de la requete SQL
set rs=Server.CreateObject("ADODB.Recordset")
set rs=conn.execute(req)
do while not rs.EOF
response.write rs("intervenant") & "<BR>"
rs.movenext
loop
rs.close
set rs=nothing

merci pour tout


Meilleures réponses pour « requete sql en asp » dans :
Exécution de requêtes avec JDBC VoirExécution d'une requête SQL Pour exécuter une requête SQL, il s'agit dans un premier temps de créer un objet Statement, pouvant être obtenu à partir de l'objet Connection. Un objet ResultSet permettra de récupérer les données en provenance de...

1

nadege, le 19 mar 2001 à 15:38:43

Essaie tech.login=' "&login &" '
et .....=' "&motdepasse&" '

Répondre à nadege

2

fabrice, le 19 mar 2001 à 16:12:11

Je te remercie car ça marche!!!!
Puis-je te demander un petit quelque chose??
Comment ecrire une requete qui recupere l'intervenant à partir de la clé primaire?
Je m'explique,c'est le meme probleme sauf que j'ai desormais 2 tables:tech et intervenants et la relation s'effectue par la clé primaire num_int,je pense donc qu'elle s'écrit un peu comme ça:
strSQL = "SELECT intervenant FROM intervenants WHERE tech.num_int=intervenants.num_int and tech.login='" & login & "' and tech.motdepasse='" & motdepasse & "' "
Et j'ai alors droit à un message d'erreur à propos de 3 parametres manquant dans ma requete...
J'espere que tu pourras encore me sauver la vie
Merci d'avance

Répondre à fabrice

3

nadege, le 19 mar 2001 à 16:20:28

Tu dois dire que tu vas chercher dans les deux tables puisque tu y fais référence, comme ceci :

strSQL = "SELECT intervenant FROM intervenants,tech WHERE tech.num_int=intervenants.num_int and tech.login='" & login & "' and tech.motdepasse='" & motdepasse & "' "

Répondre à nadege

4

fabrice, le 19 mar 2001 à 16:25:17

Désolé mais ça marche pas
Message d'erreur:trop peu de parametres:2 attendus...
Que faire?

Répondre à fabrice

5

nadege, le 19 mar 2001 à 16:38:50

Tu dois faire deux requête au lieu d'une :
La 1ere : avec un seul and
ensuite pour chaque valeur de résultat récupérée, tu fais une seconde requete en égalisant toon résultat au champ de ta table concernée et ta dernière égalité.
Voila ,si tu ne comprends j'essaierais de te la faire...(en ASp les trois AND ne passent pas bien).

Répondre à nadege

6

fabrice, le 19 mar 2001 à 16:49:17

A vrai dire,je comprends un peu mais je ne vois pas trop comment faire les 2 requetes,alors puisque tu m'as proposé si gentiment d'essayer de me la faire,avec plaisir!!
merci encore!!

Répondre à fabrice

7

nadege, le 19 mar 2001 à 16:59:24

StrSQL = "SELECT int_num FROM intervenants WHERE tech.motdepasse='"& motdepasse &"' and tech.login='" & login & "' ;"

Set rs=conn.execute(strSQL)
rs.MoveFirst
Do While not rs.EOF(si plusieurs résultats de requête)

strSQL2="SELECT intervenant FROM intervenants, tech WHERE tech.num_int=rs.Fields("int_num").Value;"

rs.MoveNext
Loop

Répondre à nadege

8

fabrice, le 19 mar 2001 à 17:21:09

Erreur:fin d'instruction attendue dans la 2e requete apres fields("
??

Répondre à fabrice

9

nadege, le 19 mar 2001 à 17:26:38

Explique moi clairement les différentes tables que tu as et ce que tu veux obtenir et à partir de quelle donnée??

Répondre à nadege

10

nadege, le 19 mar 2001 à 17:42:40

Dans la deuxième requête, essaye de faire rs.value au lieu de rs.Fields("int_num").Value.
Sinon sans autre informations de ta part je ne pourrais pas t'aider!!
A+

Répondre à nadege

11

fabrice, le 19 mar 2001 à 17:44:18

Donc:
j'ai 2 tables :
tech(num_tech,nom_tech,prenom_tech,login_tech,motdepasse_tec­h,#num_int)
intervenants
(num_int,intervenant)
les deux tables ont une relation par num_int
à partir d'un formulaire,l'utilisateur saisit son login et mot de passe et je souhaite recuperer l'intervenant correspondant à ce login et mot de passe.
c'est un peu plus clair??

Répondre à fabrice

12

nadege, le 19 mar 2001 à 17:49:12

Tu fais :

strSQL = "SELECT num_int FROM tech WHERE tech.motdepasse='"& motdepasse &"' and tech.login='" & login & "' ;"

Set rs=conn.execute(strSQL)
rs.MoveFirst
Do While not rs.EOF(si plusieurs résultats de requête)

strSQL2="SELECT intervenant FROM intervenant WHERE num_int=rs.Fields("num_int").Value;"

rs.MoveNext
Loop

Répondre à nadege

13

fabrice, le 19 mar 2001 à 17:55:57

Désolé mais il met toujours fin d'instruction attendue au meme endroit .fields("
au fait j'ai mis à la fin set rs=conn.execute(strSQL2)

Répondre à fabrice

14

fabrice, le 19 mar 2001 à 18:15:24

T'es encore la?

Répondre à fabrice

15

nadege, le 20 mar 2001 à 08:31:44

Je suis revenue....

Répondre à nadege

16

fabrice, le 20 mar 2001 à 09:27:06

Bonjour Nadege!!
ça va?
Alors,as tu des nouvelles à propos de mon ENORME probleme??

Répondre à fabrice

17

nadege, le 20 mar 2001 à 09:39:37

Tu peux essayer :

strSQL = "SELECT num_int FROM tech WHERE motdepasse=' "& motdepasse &" ' and login=' " & login & " ' ;"

Set rs=conn.execute(strSQL)
rs.MoveFirst
Do While not rs.EOF(si plusieurs résultats de requête)

strSQL2="SELECT intervenant FROM intervenant WHERE num_int=' "& rs.("num_int")&" ';"
Set rs2=conn.Execute(strSQL2);

rs.MoveNext
Loop

Bonne chance

Répondre à nadege

18

 fabrice, le 20 mar 2001 à 09:50:25

Je vais essayer mais je tenais à te dire que j'ai reessaye la requete qui marchait hier,la toute premiere que tu m'as corrigé et ça ne marche plus,j'ai toujours les 2 parametres attendus sur ma requete,je craque!!!!

Répondre à fabrice
Collection CommentÇaMarche.net