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

MS SQL Server Discussion :

génération de noms d'utilisateurs


Sujet :

MS SQL Server

  1. #1
    CUCARACHA
    Invité(e)
    Par défaut génération de noms d'utilisateurs
    Salut,

    J'ai besoin de générer des noms d'utilisateurs.

    J'ai créé une table avec 1 champ strWord qui contient des mots.

    Le nom d'utilisateur temporaire généré est la combinaison de deux mots.

    Pour ce faire, j'ai créé la proc suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    	DECLARE @booFound bit
    	DECLARE @strNewUserName nvarchar(100)
    	DECLARE @strWord1 nvarchar(50)
    	DECLARE @strWord2 nvarchar(50)
    	DECLARE @intMaxCount int
    	DECLARE @intCount int
     
    	SELECT @intCount = Count(strWord) FROM TOOL_PT_Words
     
    	SET @intMaxCount = POWER(@intCount , 2)
    	SET @booFound = 1
    	SET @intCount = 0
    	SET @strNewUserName = null
     
    	WHILE @booFound = 1
    	BEGIN
    		SET @intCount = @intCount + 1
    		IF @intCount > @intMaxCount
    		BEGIN
    			BREAK
    		END
    		SELECT TOP 1 @strWord1 = strWord FROM TOOL_PT_Words order by newid()
    		SELECT TOP 1 @strWord2 = strWord FROM TOOL_PT_Words order by newid()
     
    		SET @strNewUserName = @strWord1 + @strWord2
    		SET @booFound = 0
    		SELECT @booFound=1 FROM aspnet_Users
    		WHERE UserName= @strNewUserName
    	END
    	SELECT @strNewUserName
    Ca peut donner :
    blancsouris
    cahiervert

    etc

    Ca a l'air de marcher mais je trouve ca un peu bourrin...

    et vous ?

    D'avance merci pour votre aide

    Laurent

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut utilisateur redondant.
    tu dois gèrer le cas où ta procédure génére deux fois le meme login.
    tu es limite en nbs de login par le nbs de mot de ta table.
    c'est facile à retenir et original ;o))

    Ex : CanardDormeur.

    la solution la plus simple, c'est une table avec un clef autoincremente.
    pas de doublon.
    pas de limite.
    c'est difficile à retenir et pas tres original. ;o))

    Ex : User12

    A+

  3. #3
    CUCARACHA
    Invité(e)
    Par défaut Les utilisateurs doivent changer leur login à la première conn
    Salut,

    Ce que tu proposes est exactement ce que je voulais éviter... Mes utilisateurs sont des malades, pas forcément jeune. Je met des couples de mots simples.

    J'ai 195 mots pour le moment, principalement des couleurs. Ça fait déjà un max de possibilités. En plus une fois le user name changé, le couple de mots devient à nouveau disponible et il n'y a aucune chance que les malades communiquent entre eux puisque tout ceci est sous le secret médical...

    En fait, je me demandais si ce type de cas n'était pas traité par des primitives intrinsèques.

    ++

    Laurent

Discussions similaires

  1. Valeur par défaut du nom d'utilisateur.
    Par frederic.go dans le forum Access
    Réponses: 2
    Dernier message: 19/10/2005, 15h04
  2. [ftp][bsd]caractère invalide dans un nom d'utilisateur.
    Par Invité(e) dans le forum Applications
    Réponses: 5
    Dernier message: 20/09/2005, 19h13
  3. Génération de nom de fichier
    Par Raton dans le forum C++
    Réponses: 14
    Dernier message: 13/08/2005, 17h06
  4. Réponses: 8
    Dernier message: 13/07/2004, 09h00
  5. Récupérer le nom d'utilisateur
    Par Zolex dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/06/2004, 11h40

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