cs_abari
Messages postés89Date d'inscriptionmardi 3 août 2004StatutMembreDernière intervention20 février 2006
-
3 déc. 2004 à 11:26
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 2013
-
25 déc. 2004 à 16:10
salut tout le monde
j'ai un probléme de tri?!!!
dans ma table les enregistrement sont stockées d'une facon des ordonnées comme suit:
code nom prénom ....................
1 x x ....................
20 y y ....................
7 f f ....................
.
.
.
10 c c ....................
.
.
.
.
.
et dans mon code asp,j'excute la requette suivante:
SQL="SELECT * FROM TABLE ORDER BY TABLE.CODE ASC;"
set recd =DBase.Execute(SQL)
le resultat ca donne le suivant:
code nom prénom ....................
1 x x ....................
10 c c ....................
11 d d ....................
y y ....................
.
.
.
.
2 b b ....................
.
.
au lieu de donner
le resultat ca donne le suivant:
code nom prénom ....................
1 x x ....................
2 y y ....................
.
.
.
.
9 b b ....................
10 c c ....................
11 d d ....................
(1,10,11,......,100,101 ....) au lieu de(1,2,3.................)
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 25 déc. 2004 à 16:10
Cela vient sans doute du fait que le code n'est pas dans ton cas de type int ou numeric. donc le tri en question est fait suivant l'ordre en chaine de charactere (string) et donc
11111111 est avant 20000
alors que c'est faut en integer
Il faut donc convertir (en étant bien sur que ce sont bien des entiers) en int le champs code avant le asc
comme l'a dit glplpmat tu dois caster la valeur du champs en int
En SQL Server, il existe Cast ou convert, tu trouveras les informations la dessus ici :
- http://sql.developpez.com/