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

VB.NET Discussion :

Auto-increment sur un champ


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Auto-increment sur un champ
    Bonjour,

    Je cherche juste comment définir le champ de clé primaire comme auto-incrémentation. Est-ce que quelqu'un est au courant ?

    Harry Potter

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 83
    Par défaut
    De memoire avec certaines bases, type access tu peux selectionner cette option "auto increment" avec sql je n'ai pas trouve ce genre de choses. J'avais du le gerer moi meme en recuperant la valeur la plus elevee de ma cle et au moment de mon insertion passer en parametre la valeur de la cle + 1....

    C'est pas bien long a faire, ca demande 5 lignes de codes de plus.

    J'espere avoir repondu a ta question
    @+

  3. #3
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    recuperant la valeur la plus elevee de ma cle et au moment de mon insertion passer en parametre la valeur de la cle + 1
    ...houla, pas bieeeeen...


    En sql server, tu vas en mode design, tu mets Identity a yes, Identity seed a 1 et increment a 1...


    pis ca y'est, tu as ton auto-incrementation...

    apres, en Oracle, tu dois faire des triggers, si je me rappelle bien...mais dans l'ensemble, tu dois avoir moyen de faire ca sur toutes les sgbd

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  4. #4
    Membre chevronné Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Par défaut
    Citation Envoyé par nico_pouchet Voir le message
    en recuperant la valeur la plus elevee de ma cle et au moment de mon insertion passer en parametre la valeur de la cle + 1....
    Non ! comment gérez-vous la concurrence d'accès ?


    pvialatte a raison, identity sous sql server, séquences + trigger sous oracle, séquences affectées sous postgres, etc.
    quel est votre SGBD ?

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 83
    Par défaut
    Citation Envoyé par pvialatte Voir le message
    ...houla, pas bieeeeen...


    En sql server, tu vas en mode design, tu mets Identity a yes, Identity seed a 1 et increment a 1...


    pis ca y'est, tu as ton auto-incrementation...

    apres, en Oracle, tu dois faire des triggers, si je me rappelle bien...mais dans l'ensemble, tu dois avoir moyen de faire ca sur toutes les sgbd

    Merci pour l'info, au moins je vais plus m'embeter a gerer tout ca a la mano.

  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 : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Une remarque générale sur les champs auto-incrémentés : je comprends qu'on l'utilise si on en a absolument besoin, mais, dans l'absolu c'est rare.

    Personnellement, surtout si le SGBD cible du projet est Sql Server, je n'utilise presque jamais de champs auto-incrémentés et préfére utiliser en clef primaire pour ce type de cas un champs "uniqueidentifier" (dans lequel on stocke un GUID).

    Le seul inconvénient de cette méthode est l'impossibilité d'utiliser ce champs dans une clause ORDER ou dans un sort pour lister les entrées créées dans l'ordre où elles l'ont été, mais un champs Timestamp ou date/time en plus sur la table permet de contourner le problème.

    L'avantage que présente l'utilisation de l'uniqueidentifier est que l'on peut instancier l'objet métier qui sera ensuite écrit "as is" dans la base sans avoir à s'occuper de concurence d'accés, et sans avoir à récupérer une information "a posteriori" (donc, on peut ensuite confier la tâche de persistance en mode "lazzy" à une entité applicative, sans avoir à réinterroger cette entité applicative pour savoir la valeur qu'aura prise la clef primaire).

    Attention : je ne dis pas qu'il ne faut jamais utilisé les séquences/champs auto-incrémentés, etc ... mais simplement qu'ils ne constituent pas toujours la solution la plus simple même si elle saute (un peu trop souvent à mon goût) aux yeux comme solution évidente.

Discussions similaires

  1. colonne auto incremental sur sharepoint
    Par hbennou dans le forum SharePoint
    Réponses: 5
    Dernier message: 04/05/2008, 20h20
  2. Auto incremente sr un champ Varchar
    Par mr.net dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/09/2007, 13h40
  3. Auto Increment sur champs numérique
    Par Sami Xite dans le forum Access
    Réponses: 19
    Dernier message: 09/02/2007, 16h40
  4. [debutant]Auto incrementation sur sql-server 2000
    Par syl2095 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 18/11/2004, 18h00
  5. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05

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