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

ASP.NET Discussion :

Création automatique d'un login


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Import/Export des solutions
    Inscrit en
    Janvier 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Import/Export des solutions

    Informations forums :
    Inscription : Janvier 2005
    Messages : 39
    Points : 41
    Points
    41
    Par défaut Création automatique d'un login
    BONJOUR!

    Est-ce que quelqu'un pourrait m'aider à creer une procédure qui permet de génerer automatiquement des login de la forme p.nom(1ere lettre du prenom point nom)a partir des champs prenom nom inscrit ou deja existant?
    Dans ma table utilisateur j'ai bien les champs nom et prenom deja.
    J'ai donc creer une table user avec un champs login qui prendra donc p.nom en fonctions des user déjà présents, exemple pour jean dupont login=(j.duipont)

    Je suis en ASP.net sous VB.net (visual web developer 2008)
    Merci

  2. #2
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Essaie d'être plus clair : tu veux qu'on fasse ton code à ta place ?

    Sinon, pour vérifier : tu dois chercher les informations nom et prénom dans la table utilisateur puis ensuite créer le login et l'insérer dans le champ login de la table user ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  3. #3
    Membre du Club
    Profil pro
    Import/Export des solutions
    Inscrit en
    Janvier 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Import/Export des solutions

    Informations forums :
    Inscription : Janvier 2005
    Messages : 39
    Points : 41
    Points
    41
    Par défaut procedure
    salut!
    exactement c'est que je veux faire le pb c'est que je ne sais pas trop comment commencer je mettrai le code de suite.

  4. #4
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    bah avant de coder, tu vas commencer par lire des cours
    http://dotnet.developpez.com/cours/?...bnet#sqlservvb

    donc pas la peine d'aller plus loin dans le logiciel tant que tu n'auras pas lu deux ou trois cours du lien donné. C'est le seul moyen de bien apprendre


    par contre, tu veux faire ca en visual ou veux-tu le faire directement via une requête sql, sans programme car là, il va te falloir lire les cours de Transact-SQL. C'est ultra simple mais si on te donne le code tout fait, tu n'apprendras pas, donc nous le ferons pas
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  5. #5
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Tu as déjà fait des recherches dans une base de données ?

    Il faut que tu utilise des objets qui héritent de DbConnection, DbCommand et DbDataReader en fonction du type de la base de données que tu veux attaquer, par exemple SqlConnection, SqlCommand et SqlDataReader pour une base Sql Server.

    Tu ferais mieux de te documenter là dessus avant de commencer

    Une fois cela fait, c'est assez simple : tu récupère les noms et prénoms des utilisateurs que tu veux, tu récupère la première lettre du prénom via prenom[0] et tu concatène avec le nom : prenom[0].ToString() + "." + nom.
    Il ne te reste plus qu'ensuite à l'insérer dans la table User.

    Par contre j'ai une question, pourquoi avoir 2 tables différentes pour gérer les utilisateurs ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  6. #6
    Membre du Club
    Profil pro
    Import/Export des solutions
    Inscrit en
    Janvier 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Import/Export des solutions

    Informations forums :
    Inscription : Janvier 2005
    Messages : 39
    Points : 41
    Points
    41
    Par défaut
    salut! oui pour la connexion pas de pb.
    j'ai garder 2 table parceque j'ai pas le droit de modifier ce qui est en place dans utilsateur il non,prenom et le champ login est ds la table log. voila ce que j'ai essayé:

    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
    Dim myReader As SqlDataReader
                Dim CommandText ,InsTex As String
     
                ' Connection à la base de données
                Dim cn As New SqlConnection()
                cn.ConnectionString = ConfigurationSettings.AppSettings("WTS_ExtraSQL")
                cn.Open()
    ' Récupération des infos de l'agent
                CommandText = "SELECT id,nom, prenom,FROM Utilisateur WHERE id= '" & Session("id") & "'"
                Dim cmd As New SqlCommand(CommandText, cn)
                myReader = cmd.ExecuteReader()
                myReader.Read() 
     
     
     InsText = "INSERT INTO Log (login) VALUES ('??????????')       
            Dim InsSQL As New SqlCommand(InsText, cn)
            Dim x As Integer
            Try
                x = InsSQL2.ExecuteNonQuery()
                Response.Write(" login crée!!!" + "<br />")
     
            Catch ex As Exception
                Response.Write(ex)
            End Try
            InsSQL2 = Nothing
            If Not cn Is Nothing AndAlso cn.State = ConnectionState.Open Then
                cn.Close()
                cn = Nothing
            End If
    je dois faire un insert into Log (login) value ('.......)
    mais je ne sais pas ,la concatenation je la fais ou et je l'utise dans la requette? hors de la procedure?
    voila je ne sais pas si

  7. #7
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Ah, ça après ça dépend de toi, j'avoue que je connais pas très bien le transact-SQL, donc j'aurais plutôt tendance à le faire par le code, mais ce n'est pas le cas de tout le monde.

    Pour le faire par le code, j'ai déjà donné la réponse plus haut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myReader.GetString(2)[0]+"."+myReader.GetString(1);
    Tu n'as plus qu'à l'insérer dans ta table.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  8. #8
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    Ah, ça après ça dépend de toi, j'avoue que je connais pas très bien le transact-SQL, donc j'aurais plutôt tendance à le faire par le code, mais ce n'est pas le cas de tout le monde.
    c'est très mal
    1- pas optimiser. car le serveur sait faire mieux que nous
    2- pas de transfert de données inutiles qui peuvent être changées entre temps
    3- on ne pourri pas la bande passante
    4- ca fait deux requête au lieu d'une

    nan faut vraiment pas faire de calcul côté code, ou alors uniquement si c'est très complexe et que le serveur sait pas faire. mais depuis 2005, on peut mettre du code C# sur le serveur, donc zéro raison de faire ca côté code.


    La question est simple: l'appli a-t-elle besoin de la donnée pour réaliser l'opération? non. alors c'est au serveur de la faire.

    un simple code comme celui-ci suffit largement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO Log (Login)
    SELECT nom + ' '+ prenom
    FROM Utilisateur 
    WHERE ID= ????
    ca fait deux lignes de code C# au lieu de vos douze lignes



    ensuite, je connais pas le VB.Net, mais pourquoi ton code (à l'auteur), n'a pas de Finally? ou pourquoi le try n'englobe pas tout le code à risque? la connexion peut merder. la récupération aussi. donc tout doit être dedans, et le Finally est important pour fermer les connexions à la DB
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  9. #9
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    La requête est effectivement simple, j'y ai pensé mais ce qui m'a arrêté c'est qu'il ne souhaite avoir que la première lettre du prénom et ça en SQL je ne sais pas faire.

    EDIT : j'avoue qu'après 2 secondes de recherche j'ai trouvé la fonction SQL LEFT(int, int) qui permet de récupérer la première lettre en faisant un SELECT LEFT(monChamp, 1), ça aura au moins enrichi ma culture SQL
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  10. #10
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    Citation Envoyé par laedit Voir le message
    La requête est effectivement simple, j'y ai pensé mais ce qui m'a arrêté c'est qu'il ne souhaite avoir que la première lettre du prénom et ça en SQL je ne sais pas faire.

    EDIT : j'avoue qu'après 2 secondes de recherche j'ai trouvé la fonction SQL LEFT(int, int) qui permet de récupérer la première lettre en faisant un SELECT LEFT(monChamp, 1), ça aura au moins enrichi ma culture SQL
    moi je pensais bien connaitre le TSQL, tu m'as appris un truc. j'aurais fais un substr
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

Discussions similaires

  1. Création automatique d'un login unique par concaténation
    Par stefane26 dans le forum Sécurité
    Réponses: 9
    Dernier message: 19/10/2011, 19h28
  2. création automatique de fichier html
    Par oclone dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 03/02/2006, 14h53
  3. []Création automatique d'utilisateurs
    Par SaeZ dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 27/10/2005, 13h38
  4. Création automatique d'exécutable
    Par bourdon dans le forum Langage
    Réponses: 12
    Dernier message: 13/06/2005, 21h17
  5. création automatique de table avec createdb??
    Par champion dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/09/2004, 09h01

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