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 :

Interdiction de doublon


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Directeur Général
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Guinée

    Informations professionnelles :
    Activité : Directeur Général
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Interdiction de doublon
    bonjour les pros,
    Comment interdire les doublons sur ma base ?
    J'ai fait une petite appli, mais j'ai un problème avec des doublons.
    voici mon code vb d'insertion dans la base, je veux interdire les doublons sur le numéro de police.

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     Private Sub BT_Valider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Valider.Click
            If (Text_Numero_Police.Text = "") Then
                MsgBox("Veuillez Chaissir le Numero de Police SVP", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "Information")
            ElseIf Txt_Nom_Prenom_Client.Text <> "" And Txt_Type_Compteur.Text <> "" And Txt_Type_Branchement.Text <> "" And Text_Numero_Police.Text <> "" And Text_index_compte.Text <> "" And Text_Contact_Client.Text <> "" And Txt_Contact_Technicien.Text <> "" Then
                Dim Requete As String = "INSERT INTO Client VALUES('" + Txt_Nom_Prenom_Client.Text.ToString() + "','" + Txt_Type_Compteur.Text.ToString() + "','" + Txt_Type_Branchement.Text.ToString() + "', '" + Text_Numero_Compteur.Text.ToString() + "','" + Text_Numero_Police.Text.ToString() + "','" + Text_index_compte.Text.ToString() + "','" + CB_Nom_Prenom_Technicien.Text.ToString() + "','" + Text_Contact_Client.Text.ToString() + "','" + Txt_Contact_Technicien.Text.ToString() + "','" + dta.Text.ToString() + "')"
                Try
                    Connexion.Open()
                    Dim commande As New SqlCommand(Requete, Connexion)
                    commande.ExecuteNonQuery()
                    If MsgBox("Enregistrement de Branchement Réussi!!! Voulez-vous continuer?", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "Information") = MsgBoxResult.Yes Then
                        Txt_Nom_Prenom_Client.Text = ""
                        Txt_Type_Compteur.Text = ""
                        Txt_Type_Branchement.Text = ""
                        Text_Numero_Compteur.Text = ""
                        Text_Numero_Police.Text = ""
                        Text_index_compte.Text = ""
                        Text_Contact_Client.Text = ""
                        CB_Nom_Prenom_Technicien.Text = ""
                        Txt_Contact_Technicien.Text = ""
                        dta.Text = ""
                    Else
                        Me.Close()
                        Txt_Nom_Prenom_Client.Text = ""
                        Txt_Type_Compteur.Text = ""
                        Txt_Type_Branchement.Text = ""
                        Text_Numero_Compteur.Text = ""
                        Text_Numero_Police.Text = ""
                        Text_index_compte.Text = ""
                        Text_Contact_Client.Text = ""
                        CB_Nom_Prenom_Technicien.Text = ""
                        Txt_Contact_Technicien.Text = ""
                        dta.Text = ""
     
                    End If
                    commande.Dispose()
                    Connexion.Close()
                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try
            End If
        End Sub

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 173
    Points : 485
    Points
    485
    Par défaut
    Salut,

    alors tout d'abord tu devrais utiliser les balises code pour mettre ton code dedans.

    Ensuite la solution la plus facile serait de faire un SELECT pour vérifier si les données que tu veux insérer n'existe pas déjà et ensuite si ça existe pas tu insères les données sinon tu affiches un message comme quoi la donnée existe déjà dans le base.

  3. #3
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    Ho le méchant, c'est immonde à lire du code sans la balise code

    et donc vous voulez éviter de créer des doublons dans votre base de donnée par rapport au numéro de police,
    mais avant d’insérer un jeu de résultat vous ne devriez pas regarder si il existe déjà ?

    ensuite pour la suite je vous conseillerai de faire des requêtes paramétré (il y a énormément d'exemple sur le net)

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    pour le sécuriser, tu mets un index unique sur la ou les colonnes
    sql server te jetteras alors si tu essayes

    après tu peux faire un select ou un if not exists insert pour prévenir sans générer d'exception
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Les requêtes paramétrées, voir Tuto ou Faq.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/10/2013, 15h35
  2. Réponses: 2
    Dernier message: 19/08/2003, 18h04
  3. tri a bulle sans les doublons
    Par comme de bien entendu dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 10/03/2003, 16h29
  4. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21

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