Bonjour,
Je suis sous sql server 2000. est il possible d'afficher les numeros de ligne dans un recordset ?
1 Nom1
2 Nom2
3 Nom3
......
Merci à vous
Bonjour,
Je suis sous sql server 2000. est il possible d'afficher les numeros de ligne dans un recordset ?
1 Nom1
2 Nom2
3 Nom3
......
Merci à vous
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
La notion de ligne telle que vous l'entendez n'existe pas dans un SGBDR.
Vous devez numeroter vous meme dans un ordre que vous aurez defini. Il me semble que vous pouvez utiliser dans votre recordset niveau client des methodes qui permettent de connaitre la position d'une ligne de donnees par rapport a une autre.
Si vous voulez le faire cote serveur la requete suivante peut vous aider :
++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE TABLE #T ( nom VARCHAR(50) ) INSERT #T VALUES ('nom1') INSERT #T VALUES ('nom2') INSERT #T VALUES ('nom3') SELECT (SELECT COUNT(*) + 1 FROM #T T2 WHERE T2.nom < T1.nom) AS num_ligne, * FROM #T T1
C'est plutôt du côté de VB.NET ou C#.NET qu'il faut voir ça. C'est n'est pas un problème SQL.
Etienne ZINZINDOHOUE
Billets-Articles
Bonjour
comme déjà dit, je ne vois pas l'intérêt, mais peut être en avez vous un...
dans ce cas, regardez du coté de ROW_NUMBER()
http://msdn.microsoft.com/fr-fr/library/ms186734.aspx
[edit]
Arff, désolé, ROW_NUMBER n'est pas disponible pour la version 2000
[/edit]
ROW_NUMBER() n'est pas implemente en version 2000
++
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...
Une réponse vous a aidé ? utiliser le bouton
"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Dans mon code j'essaye au maximum de repartir les charges et traitements entre le serveur web et le serveur de BDD. Pour moi il s'agit d'une info BDD, d'ou la nouvelle methode ROWNUMBER dans les versions plus haute que la version de sql serveur 2000.
Sinon j'ai palié ce probleme en jouant avec ma dataTable (objet .net).
Merci
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
Le numero de ligne n'est pas une info BDD contrairement a ce que vous dites. Comme dit plus haut la notion d'ordre n'existe pas pour une table. Une table n'est pas organise en lignes comme un tableau mais en pages de donnes.
En general on utilise ROW_NUMBER() a des fins de traitement et non pas pour de la restitution directe vers l'application cliente.
Par curiosite pourquoi vous voulez numeroter vos lignes ?
++
C'est une demande fonctionelle.
Je le gere dans mon code du coup
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
une demande fonctionelle ?
du genre "nous on veut un numéro en face de chaque ligne" ?
Dans ce cas, le faire directement dans votre programme au moment de l'affichage me semble en effet la meilleur solution !
Si la demande est plutot du genre
"Je veux pouvoir indiquer par téléphone a mon collègue qui a le meme programme la ligne dont je parle..." alors prenez garde, l'ordre des lignes renvoyées par la Base de données ne sera pas toujours le même... pour cela il vous faudra un identifiant dans la base de données
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager