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 :

est ce qu'on peut changer l'ordre des id après suppression?


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Par défaut est ce qu'on peut changer l'ordre des id après suppression?
    salut

    est ce que vous pouvez m'aider?
    j'ai une table employe, ou' les id s’incrémentent de un. et quand par exemple on souhaite supprimer un employé d'identifiant 45, et après on ajoute de nouveaux.
    alors, on aura :
    44,46,47 par exemple

    et mois je voudrais quand je supprime celui de 45, et j'ajoute un nouveau employé qui le suit, ce nouveau aura 45 .
    est ce qu'il y'a un moyen?une procédure qui se fait automatique, quand il y'a une suppression et ajout.


    merci pour votre compréhension.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par wikiele Voir le message
    et mois je voudrais quand je supprime celui de 45, et j'ajoute un nouveau employé qui le suit, ce nouveau aura 45 .
    est ce qu'il y'a un moyen?une procédure qui se fait automatique, quand il y'a une suppression et ajout.
    Est-ce un réel besoin fonctionnel ou est-ce juste pour faire zolie ?

  3. #3
    Membre confirmé
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Par défaut
    un réel besoin, cava m'aider sur un formulaire afin de pouvoir faire le suivant et précédent.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Pouvez-vous rentrer un peu plus dans les détails ?
    En ne sachant pas comment vous procédez vous traiter chaque employé, il est difficile de vous aider un peu plus ...

    @++

  5. #5
    Membre confirmé
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Par défaut
    d'accord



    j'ai fais un formulaire pour afficher les informations des employés sur visual studio.
    ces informations se trouvent sur plusierus tables de sql server express 2005, liées entre par les clés ètrangères.
    et j'ai ajouté sur ce formulaire, un bouton pour afficher les informations du dernier employé.
    un bouton pour afficher le premier employé.
    et un bouton qui permet de visualiser les informations de l'employé qui suit l'employé qui est en cours d'affichage sur le formualaire. et aussi pour voir le prècedent.

    les 2premiers boutons marchent bien, puisque j'ai utilisé "select * from employe where id_employe=min(id_employe)" et select * from employe where id_employe=max(id_employe).

    pour les autres boutons, ça marche bien, tant que les identifiants des employés ont un ordre ascendant:1,2,3,4,5 parce que j'ai mis pour l'id de la table employe, auto incrémenté de pas 1(identity)
    supposant que j'ai supprimer un employé x d'un id=2, il y'a aura donc sur la table employe:1,3,4,5
    et j'ai ajouté après un employé y, donc on aura :
    1,3,4,5,6
    et je supprime celui de 4=>
    la liste des employé sera comme ceci:
    1,3,5,6

    alors quand je suis sur le formulaire, et j'affiche le 1er employé, et je fais le suivant, on m'affiche rien, il reste sur le premier.
    meme chose, lorsque je suis sur le dernier et je fais le precedent, on m'affiche le precedent qui est le 5, mais son precedent, on me l'affiche pas.


    parce que j'ai programmer les boutons suivant et precedent, pour qu'ils affichent l'employé de l'identifiant= identifiant de l'employé qui est affiché sur le formulaire plus 1 (suivant) et moins 1(precedent).

    est ce qu'il y'a un moyen, pour traiter l'ajout et la suppression, afin que j'aie les identifiants dans l'ordre croissant et pas de coupure?

    merci

  6. #6
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Vous faites fausse route: votre programme part d'un postulat faux qui consiste a dire que les id se suivent... l'IDENTITY est avant tout un identifiant technique, vous tentez d evous en servir comme d'une clé métier:

    Modifiez seulement vos requetes afin que lors du clic sur suivant par exemple, elle aille chercher le premier identifiant supérieur à l'actuel identifiant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT col1,col2...etc.
    FROM employe
    WHERE id_employe=(SELECT MIN(id_employe)
                                FROM employe E
                                WHERE E.id_employe>VOTRE_IDENTIFIANT_ACTUEL)
    Faites de même pour le précédent...

Discussions similaires

  1. changer l'ordre des colonnes
    Par ____22 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 03/07/2013, 13h28
  2. Changer l'ordre des Items de Menu.
    Par Ivynox dans le forum C#
    Réponses: 3
    Dernier message: 29/11/2007, 15h49
  3. [Thunderbird] changer l'ordre des comptes
    Par Eusebius dans le forum Thunderbird
    Réponses: 2
    Dernier message: 26/07/2006, 09h08
  4. Rajout colonne - changer l'ordre des colonnes ?
    Par Coptere dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 13/09/2005, 10h56
  5. changer l'ordre des dates dans table
    Par lordyan dans le forum Requêtes
    Réponses: 11
    Dernier message: 14/01/2005, 11h12

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