IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

numero de ligne


Sujet :

Développement SQL Server

  1. #1
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut numero de ligne
    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.

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    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
    ++

  3. #3
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Etienne ZINZINDOHOUE
    Billets-Articles

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    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]

  5. #5
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    ROW_NUMBER() n'est pas implemente en version 2000

    ++

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par zinzineti Voir le message

    Les RecordSet n'existent pas en .Net.

    C'est un (vieux) truc datant de VB6 (et pouvant être utilisés aussi dans d'autre langages, ASP & C++ entre autres, via le MDAC).

    L'exemple dont tu fournis le lien est un exemple ASP, rien à voir avec .Net (ASP != ASP.Net).

    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

  7. #7
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    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.

  8. #8
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    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 ?

    ++

  9. #9
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    C'est une demande fonctionelle.
    Je le gere dans mon code du coup
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  10. #10
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    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

Discussions similaires

  1. [VBA-E] Récupérer le numéro de ligne où se trouve un bouton
    Par Freiya dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/01/2011, 23h06
  2. [VB.Net] Repeater numero de ligne et data
    Par NicoNGRI dans le forum ASP.NET
    Réponses: 6
    Dernier message: 10/10/2005, 10h20
  3. Récuperer le numero de ligne dans un RichEdit
    Par nbutin dans le forum C++Builder
    Réponses: 9
    Dernier message: 25/05/2005, 12h40
  4. Recuperer le numero de ligne d'une exception Python
    Par chrdou dans le forum Général Python
    Réponses: 4
    Dernier message: 28/02/2005, 16h58
  5. Réponses: 2
    Dernier message: 19/05/2004, 10h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo