Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2007, 17h22   #1
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 114
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 114
Points : 29
Points : 29
Par défaut Restrictions de propriétés sur un Recorset

Bonjour

Après avoir créé sans encombres une page d'accès à ma BD, ainsi que l'affichage de données, je voudrais coder une pagination avec un nb d'enregistrements limité par page. Pour celà (d'après les sources dont je dispose...) il faut utiliser certaines propriétés des recorsets : Recordcount, Pagecount, etc....
Or déjà sur Recordcount, çà ne marche pas : il m'affiche "-1 enregistrements"

Voici une portion de code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%
	dim strconnect
	dim cnn
	dim strsql
	dim rst
	dim style
	dim lnPageActuelle, lngcompteur, lngpagemax
	style = "fonce"
	strconnect = "DSN=tecno"
	set cnn = Server.CreateObject("ADODB.Connection")
	cnn.Open strconnect
	Response.Write "connexion établie avec la base de données TECNOMA...<br>"
	Response.Write "<br><table>"
	strsql = "select nom, cp, ville from entreprise;"
	set rst = Server.CreateObject("ADODB.recordset")
	rst.Open strsql, cnn, adOpenDynamic
	Response.Write "Recordset créé !! " & Rst.RecordCount & " enregistrements !!"
	Response.Write "<CAPTION><font size = 5, face=gatineau>Liste des fournisseurs présents dans la base de données</font></CAPTION>"
Et ce que çà donne :

Citation:
connexion établie avec la base de données TECNOMA...

Recordset créé !! -1 enregistrements !!
Je fonctionne avec l'éditeur VBScript sous Frontpage : y a-t-il des limitations de propriétés de recordset ? En plus quand je code la partie pagination, çà affiche un message d'erreur quant à l'impossibilité d'utiliser les curseurs... du fait de cette limitation
A comprends pas !!
Merci d'avance pour votre aide
patbeautifulday1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 21h27   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

La raison por laquelle recordcount renvoi -1 ou le nombre d'enregistrements dépend du type de curseur que tu utilises pour l'ouvrir. Essaye
Code :
rst.Open strsql,,adOpenStatic, adLockReadOnly
Sinon, pour la pagination fait une recherche avec . Il y a plein de scripts.

En piece jointe quelques details sur les curseurs

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 12h36   #3
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 114
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 114
Points : 29
Points : 29
Salut Immobilis

Décidément tu travailles tard !! 21h27 !!
D'abord, merci pour ton aide, mais malheureusement, la syntaxe de rst.open que tu me conseilles ne marche pas, çà me renvoie le traditionnel " ADODB.Recordset error '800a0bb9' ".
Si je fais seulement :
Code :
rst.Open strsql, cnn,adOpenDynamic
çà marche et mes données s'affichent. Par contre je reviens au point de départ...

et si j'ajoute le dernier argument, quel qu'il soit, çà plante, par ex :

Code :
rst.Open strsql, cnn, adOpenDynamic,adLockReadOnly
Bizarre, quand même.
patbeautifulday1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 13h18   #4
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Est-ce que tu as le fichier "ADOVBS.INC" complet?
Sinon, tu peux mettre les n° correspondants aux libellés:
Code :
1
2
 
rst.Open strsql, cnn, 1, 1
C'est quoi comme base de données?
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 14h23   #5
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 114
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 114
Points : 29
Points : 29
Comme base de données, j'ai Access.

Citation:
Est-ce que tu as le fichier "ADOVBS.INC" complet?
Je ne sais pas, est-ce que tu peux me donner plus de précisions à ce sujet, car je ne vois pas ce que ç'est, mais çà ne m'étonnerait pas qque ce soit un truc comme çà qui fasse planter mon affaire...
Merci
patbeautifulday1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 14h28   #6
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
A+
Fichiers attachés
Type de fichier : zip ADOVBS.zip (2,9 Ko, 1 affichages)
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 14h47   #7
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 114
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 114
Points : 29
Points : 29
çà y est !!
Après consultation d'un tuto j'ai trouvé la réponse : en faisant

Code :
rst.Open strsql, cnn, 3, 3
çà me compte mes enregistrements !! Miracle !!
En plus je n'ai pas trouvé de fichier ADOVBS.INC dans la racine de mon répertoire de site, mais bon...
L'essentiel est que çà marche
Je n'ai pas encore essayé mais je pense que je vais pouvoir utiliser les propriétés utilisées pour la pagination : Pagesize, etc...

Merci à Immobilis et à bientôt
patbeautifulday1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 15h39   #8
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Dans une de mes réponses précedentes il y a un fichier "curseur.htm" qui donnes toutes les combinaisons d'ouverture de recordset et si oui ou non ils permettent de faire un recordcount. De plus il indique le temps necessaire à l'execution de la requete de comptage. C'est interessant de constater que les combinaisons qui permettent de compter ne mettent pas toutes le même temps.

Le fichier ADOVB te permet de remplacer les numéros pour l'ouverture du curseur par leur correspondance litterale.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h08.


 
 
 
 
Partenaires

Hébergement Web