Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 20/08/2011, 04h56   #1
Futur Membre du Club
 
Femme
futur développeur
Inscription : janvier 2010
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : Maroc

Informations professionnelles :
Activité : futur développeur

Informations forums :
Inscription : janvier 2010
Messages : 135
Points : 15
Points : 15
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.
wikiele est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2011, 16h46   #2
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
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 ?
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2011, 18h00   #3
Futur Membre du Club
 
Femme
futur développeur
Inscription : janvier 2010
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : Maroc

Informations professionnelles :
Activité : futur développeur

Informations forums :
Inscription : janvier 2010
Messages : 135
Points : 15
Points : 15
un réel besoin, cava m'aider sur un formulaire afin de pouvoir faire le suivant et précédent.
wikiele est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2011, 18h50   #4
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 669
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

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

Informations forums :
Inscription : janvier 2005
Messages : 4 669
Points : 8 729
Points : 8 729
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 ...

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 00h06   #5
Futur Membre du Club
 
Femme
futur développeur
Inscription : janvier 2010
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : Maroc

Informations professionnelles :
Activité : futur développeur

Informations forums :
Inscription : janvier 2010
Messages : 135
Points : 15
Points : 15
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
wikiele est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 10h08   #6
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
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 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
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 :
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...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk 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 11h34.


 
 
 
 
Partenaires

Hébergement Web