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 28/02/2007, 16h35   #1
Futur Membre du Club
 
Inscription : juillet 2005
Messages : 107
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 107
Points : 19
Points : 19
Par défaut Problème de tri dans ma page ASP.

Bonjour à tous,

J'ai un problème de tri dans une page ASP, cela est peut être dû à des caractères spéciaux : voici un extrait de ma sortie : chaque ligne commence par "Cell:..."

'************************************************

Cell:CHO-K1-1F21-xCT|Cryostock:656|MOstrain:clone19|TissueSubcellSpecieVarious:

Cell:Chondrocyte|CryostockMOstrainTissueSubcellSpecieVarious:

Cell:CHO-PAR1|CryostockMOstrainTissueSubcellSpecieVarious:

'************************************************
(les smiley sont à remplacer par : Deux points, Pipe)

On voit bien que ce n'est pas trié. Pourtant je l'ai bien précisé dans le SQL.
Voici mon code ASP :

'***************************************************
<HTML>
<%
dim ObjConnBio_Ref
dim RstRefBioAssay
dim strSQL

Const adOpenStatic = 3
const adUseServer = 2
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Const adCmdText = &H0001

'ouvre la connexion çà la base
'initialise ObjConnBio_Ref
set ObjConnBio_Ref = Server.CreateObject("ADODB.Connection")

' On construit la chaine de connexion OLE DB
ObjConnBio_Ref.Open "Provider=msdaora;Data Source=CBIO.TEST.COM;User Id=biotest;Password=pass;"
Set RstRefBioAssay = server.CreateObject("ADODB.Recordset")

strSQL = "Select assay_value from bio_test where assay_type = 'BIOMATERIAL' order by assay_value"

RstRefBioAssay.open strSQL, ObjConnBio_Ref, adOpenKeyset, adLockOptimistic, adCmdText
%>
<Table>
<%do while not RstRefBioAssay.eof %>
<TR> <TD>
<%=RstRefBioAssay("rba_value")%>
</td>
</tr>
<%
RstRefBioAssay.movenext
loop %>
</table>
</HTML>

'*******************************************************

Je précise qu'il s'agit d'une base Oracle et quand je lance cette requête dans TOAD, j'obtiens la liste triée.

Pouvez-vous m'aider ?

Merci beaucoup.

laurent_diep.
laurent_diep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2007, 23h37   #2
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

C'est peut-être particulier à Oracle (que je ne pratique pas), mais je vois que dans ton query tu sélectionnes la colonne assay_value, mais qu'ensuite, quand tu itères dans le recordset, tu affiches la colonne rba_value. Je ne comprends d'ailleurs pas que tu ne reçoives pas de message d'erreur.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2007, 15h24   #3
Futur Membre du Club
 
Inscription : juillet 2005
Messages : 107
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 107
Points : 19
Points : 19
Par défaut erratum...

ryan : merci pour ta réponse.

la différence entre les noms (dans le Select et dans l'affichage) provient du fait que j'ai voulu changer les noms de ma base de données avant de poster la question et j'ai omis de changer le dernier nom...

Mais chez moi tout fonctionne... sauf le tri.

laurent_diep.
laurent_diep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2007, 15h57   #4
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

J'ai comme l'impression que le tri ignore le trait d'union.
Peut-être pourrais-tu récupérer les éléments de ton recordset dans un tableau (array) et te faire ta propre routine de tri. S'il n'y a pas beaucoup d'élément, un bubble sort ferait l'affaire.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2007, 16h59   #5
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 44
Points : 35
Points : 35
Bonjour,

Pourquoi ne pas stocker dans ta base cette chaîne en double : la chaine standard et l'autre épurée de tous les caractères non alphanumériques.

Tu n'aurais donc plus qu'à faire le tri sur la colonne en alphanumérique et afficher la colonne standard.
fabien.c est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h39.


 
 
 
 
Partenaires

Hébergement Web