[asp] probleme de recordcount dans l'objet recordset

probleme de recordcount dans l'objet recordset [asp] - Programmation

Marsh Posté le 04-07-2002 à 10:59:38    

quand je fais un response.write(rst"truc".recordcount), il m'affiche -1, pourtant dans ma base de donnée j'ai au moins 5 enregistrement qui devraient etre ramenés pas ma requete.
 
Mais quand je demande de les afficher, il me les affiche bien les 5.
 
Le problème c'est que je dois faire un test sur la valeur de recordcount, et je comprends pas pourquoi il me met -1

Reply

Marsh Posté le 04-07-2002 à 10:59:38   

Reply

Marsh Posté le 04-07-2002 à 11:14:23    

mauvais curseur, recordcount marche pas dans tous les cas

Reply

Marsh Posté le 04-07-2002 à 11:18:00    

Et que faire pour y remedier, sachant que j'aimerai bien faire
 
select case rstphotos.recordcount  
case "1"
  blablabla
case "2"
  bliblibli
case "3"
  bloblo
case else
  pas grand chose
end select

Reply

Marsh Posté le 04-07-2002 à 11:58:56    

Comment ouvre tu ton recordset ?


---------------
ACH   : Hard Top E36 Bleu Avus de pref.
Reply

Marsh Posté le 04-07-2002 à 12:19:28    

voila ce que j'ai fait pour le recordset :
 
'-- Création du recordset photos
  leSQL2 = "SELECT * FROM photos WHERE Numero_ev  
                                        = " & IDevenements
  Set rstphotos = server.CreateObject("ADODB.Recordset" )
  rstphotos.Open leSQL2, conBdevenements

Reply

Marsh Posté le 04-07-2002 à 13:59:40    

Et le rstphotos.Recordcount ne marche pas ?
 
Essaye
 

Code :
  1. If rstphotos.Recordcount = 0 Then Response.write "Blabla"
  2. If rstphotos.Recordcount = 1 Then Response.write "Blabla"
  3. If rstphotos.Recordcount = 2 Then Response.write "Blabla"
  4. If rstphotos.Recordcount = 3 Then Response.write "Blabla"


 
Sinon, essaye de mettre le mode de connection suivant à ton recordset :
rstphotos.Open leSQL2, conBdevenements,1,1


---------------
ACH   : Hard Top E36 Bleu Avus de pref.
Reply

Marsh Posté le 04-07-2002 à 14:10:34    

Oh dilyne tu sais que tu me plais toi.
 
Depuis ce matin je me casse le cul, et toi en me faisant mettre
,1,1 et ben ca marche tout bien.
 
Mais pourrais tu m'expliquer ce que ca veut dire, j'aime bien comprendre quand je fais un truc.
 
 
Merci encore,
Et
Merci d'avance

Reply

Marsh Posté le 04-07-2002 à 15:20:24    

C le mode d'ouverture de ton recordset, je sais plus trop à quoi ca correspond exactement mais en gros :
 
1,1 c pour la lecture
3,3 c pour ouvrir un recordset puis pour updater des champs
 
mais apres y'a des mix 3,1     2,3  etc mais je sais po
 
En gros le plus propre c 1,1 des que tu veux faire un SELECT
 
puis apres pour ce qui est des INSERT, UPDATE et DELETE, tu fais ca direct en SQL avec la methode Execute, c plus propre et surtout plus stable ==>
 
Requete ="DELETE Nom_Table WHERE ID = 100"
Connection.Execute Requete
 
Voila
A+


Message édité par dilyfe le 04-07-2002 à 15:21:16

---------------
ACH   : Hard Top E36 Bleu Avus de pref.
Reply

Marsh Posté le 04-07-2002 à 16:05:16    

Merci bien, c'est cool, et tant que ca marche, c'est le principal.
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed