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

fatich Messages postés 7 Date d'inscription mercredi 13 juin 2012 Statut Membre Dernière intervention 12 mai 2014 - 11 mai 2014 à 13:40
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 - 12 mai 2014 à 15:05
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

Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
11 mai 2014 à 13:58
Déplacé dans la catégorie VB.Net
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
11 mai 2014 à 14:01
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.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
11 mai 2014 à 14:40
Bonjour

Pourquoi empecher le meme nom.?
Si chaque machine est identifiée par son IdMachine deux machines peux avoir le meme nom
0
fatich Messages postés 7 Date d'inscription mercredi 13 juin 2012 Statut Membre Dernière intervention 12 mai 2014
11 mai 2014 à 14:48
Non dans mon cas la machine ne doit pas avoir deux même nom,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fatich Messages postés 7 Date d'inscription mercredi 13 juin 2012 Statut Membre Dernière intervention 12 mai 2014
11 mai 2014 à 14:49
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?
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
11 mai 2014 à 16:28
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.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 mai 2014 à 18:10
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
0
galaxy2009 Messages postés 144 Date d'inscription dimanche 24 avril 2011 Statut Membre Dernière intervention 16 juin 2016
Modifié par Whismeril le 12/05/2014 à 15:05
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
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
12 mai 2014 à 15:05
Ajout des balises de code, voir
ici comment utiliser la coloration syntaxique.
0
fatich Messages postés 7 Date d'inscription mercredi 13 juin 2012 Statut Membre Dernière intervention 12 mai 2014
12 mai 2014 à 14:03
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 & "')  "
0
Rejoignez-nous