Empecher l'ajout de deux champ de même nom

Signaler
Messages postés
7
Date d'inscription
mercredi 13 juin 2012
Statut
Membre
Dernière intervention
12 mai 2014
-
Messages postés
15928
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 mai 2021
-
Bonjour,
je suis débutante et je développe ma première application en vb.net,j'ai fais un windows form pour permettre à l'utilisateur d'ajouter une machine j'ai un table Machine(IdMAchine,NomMachine,Numérode serie) idMachine c'est un numéro qui s'incrémente,je veux savoir comment empêcher l'utilisateur d'ajouter deux Machine de même nom a ma table via le code VB

8 réponses

Messages postés
15928
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 mai 2021
544
Déplacé dans la catégorie VB.Net
Messages postés
15928
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 mai 2021
544
Bonjour,

il faut que tu cherches dans la table si le nom existe.
Tu peux le faire cours de frappe, auquel cas, par exemple le qui sert à enregistrer la saisie pour avoir sa propriété Enabled en fonction de l'absence du nom

Si tu préfères vérifier au moment de l'enregistrement.
Si non tu enregistres.
Si oui, tu n'enregistres pas et tu fais apparaitre un message pour que l'utilisateur soit averti.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Bonjour

Pourquoi empecher le meme nom.?
Si chaque machine est identifiée par son IdMachine deux machines peux avoir le meme nom
Messages postés
7
Date d'inscription
mercredi 13 juin 2012
Statut
Membre
Dernière intervention
12 mai 2014

Non dans mon cas la machine ne doit pas avoir deux même nom,
Messages postés
7
Date d'inscription
mercredi 13 juin 2012
Statut
Membre
Dernière intervention
12 mai 2014

whismeril j'ai pas compris bien ce que vous voulez dire parceque je suis débutante et c'est ma première application comment le faire avec le code?
Messages postés
15928
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 mai 2021
544
Je fais très peu de VB et pas de base de données, donc je ne peux que t'aiguiller sur le principe.
Cherche dans les codes sources pour trouver comment faire une requête.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,
Pensée simple :
A quoi cela sert-il d'avoir un idmachine et un nom de machine si ce dernier (nom de machine) doit être unique ?
Supprimer IdMachine et faire de NomMachine l'idart
Messages postés
144
Date d'inscription
dimanche 24 avril 2011
Statut
Membre
Dernière intervention
16 juin 2016

bonjour,
voilà le code :

sql = "select TonTable.* from TonTable"
            cmd = New SqlCommand(sql)
            dta = New SqlDataAdapter(cmd)
            cmd.Connection() = cnx

          'chargement du DataSet à partir du DataAdapter                  
            dta.Fill(dts, "Globalclient")

           'chargement de la DataTable à partir du DataSet                 
            dtt = dts.Tables("TonTable")

            cmd.CommandText = "SELECT COUNT(*) FROM TonTable WHERE NomMachine = '" & TextNomMachine.Text & "'"

            Dim isPresent As Boolean = False

            If (Not cmd.ExecuteScalar Is DBNull.Value) Then

                isPresent = IIf(cmd.ExecuteScalar = 0, 0, 1)

                If Not isPresent Then

    cmd.CommandText = "INSERT INTO TonTable (...) VALUES (...)"

                    
Else

   MessageBox.Show(" Attention Machine existe déjà, veuillez vérifier votre saisie", "Message d'infos.....", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                    Exit Sub
                    TextNomMachine.Focus()
                End If
            End If
Messages postés
15928
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 mai 2021
544
Ajout des balises de code, voir
ici comment utiliser la coloration syntaxique.
Messages postés
7
Date d'inscription
mercredi 13 juin 2012
Statut
Membre
Dernière intervention
12 mai 2014

Merci galaxy pour le code j'ai resolu le probléme je vais poster le code,j'ai travailler avec une datagridvieux
 Dim exists As Boolean = False
        For Each itm As DataGridViewRow In DataGridView1.Rows
            If itm.Cells(1).Value = TXT_NomMachine.Text Then


                exists = True
            End If
        Next

        If Me.DataGridView1.Rows.Count > 0 AndAlso exists = True Then
            MsgBox("Machine déja Ajouter")
        Else
            Dim requet As String = "Insert into Machine(NoSerie,MachineNom) values('" & TXT_Nserie.Text & "','" & TXT_NomMachine.Text & "')  "