Requête SQL vide...

marinem

Habitué
Salut!!

J'ai fait une requete SQL comme suit :

requete_histo="SELECT numero,type_demand,date,traitement FROM Enreg_demand WHERE nom='toto' ORDER BY numero DESC;"

set result = Connection.execute(requete_histo)


Et suite à cela je lui demande de m'afficher la liste de demandes de toto (logique...)

Le truc c'est que si 'toto' en question n'a pas fait de demande, ça plante.

Je voudrais donc afficher un msg type "Vous n'avez pas effectué de demande", dans ce cas.

Comment faire? J'ai essayé qque chose comme ça, mais ça ne marche pas...

If IsNull(result("numero")) = true Then [affichage du msg d'erreur]


Qqn pourrait-il m'aider???


Merci bcp!! :hello:
 

marinem

Habitué
Non, c'est de l'ASP...


"met un point d'arret et un spy sur "

ça veut dire quoi???
 

marinem

Habitué
mon erreur:

Type d'erreur :
ADODB.Field (0x80020009)
BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé. L'opération demandée nécessite un enregistrement actuel.

 

marinem

Habitué
' Récupération historique
' ***********************

requete_histo="SELECT numero,type_demand,date,traitement FROM Enreg_demand WHERE nom='nom_util' ORDER BY numero DESC;"
set result = Connection.execute(requete_histo)


if IsNull(result("numero")) = true then
 

KangOl

Grand Maître
bin c'est comme curseur dans une zone de text.
tout au debut il vaut BOF et tout a la fin il faut EOF, c'est a dire plus rien derière
 

marinem

Habitué
ben le tuto il est en anglais... déjà ke je suis pas tres douée... mais alors en anglais!!! ;)
 

marinem

Habitué
:??:
Bon et je fais koi moi maintenant...??? :sarcastic:
Vous pensez que le recordcount ça pourrait marcher?
le truc c ke j'arriv pas à trouver comment il marche... :(
 

marinem

Habitué
Set historik = Server.CreateObject("ADODB.Recordset")
historik.open

if historik.recordcount = 0 then...


Type d'erreur :
ADODB.Recordset (0x800A0E7D)
Impossible d'utiliser cette connexion pour effectuer cette opération. Elle est fermée ou non valide dans ce contexte.
 

Xav_

Expert
le recordcount faut pas le faire sur la connexion mais sur le resultat de ta requete SELECT...

je pense plutot a un truc du genre:
[cpp]
requete_histo="SELECT numero,type_demand,date,traitement FROM Enreg_demand WHERE nom='toto' ORDER BY numero DESC;"

set result = Connection.execute(requete_histo)

if result.recordcount = 0 then...
[/cpp]

Mais je connais po l'ASP, juste le PHP, je fait ça avec qquechose comme "mysql_num_rows"
 

TamahomeTT

Habitué
[citation=7006,0,30][nom]FMR-Hunter a écrit[/nom]:o mais tu sors d'ou ma parole :o

[:matleflou][/citation]

[:dtc]
 

thepriest

Habitué
Comme pour Xav rien ne vaut un bon recordcount

If MyRst.recordcount <= 0 Then
' Affichage d'un message comme quoi il n'a pas d'éléments
Else
' tu continues ton affichage
MyRst.MoveFirst
While not MyRst.EOF
' Traitement & affichage des info des infos
Response.write "Blablabla " & MyRst.Fields("Champ1") & " blabla"
MyRst.MoveNext
Wend
End If

MyRst.close
MyDB.close
 

jerome2082

Nouveau membre
Pour pouvoir faire un recordCount, il faut ouvrir le curseur de cette manière:
Set rec = Server.CreateObject("ADODB.Recordset")
' paramétrage du type de curseur (il peut se déplacer en avant et en arriere)
rec.CursorType = 3
' paramétrage du type de verrou
rec.LockType = 1
Si on n'ouvre pas le curseur comme cela, recordCount génère soit une erreur, soit renvoit -1... donc tester si rec.recordCount<1 est dangereux si l'erreur n'est pas levé.

Pour compter le nombre d'enregistrements, recordCount parcourt tous les enregistrements et doit se repositionner sur le premier après.

Pour voir si l'enregistrement est vide on fait:
if (rec.EOF and rec.BOF) then...
end if
ou on teste si recordCount=0
 

KangOl

Grand Maître
tin ce topik avec les mass delete, il veux plus rien dire :o

et évitez les up de plus d'un an
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 131
Messages
6 717 939
Membres
1 586 382
Dernier membre
alejandrooo
Partager cette page
Haut