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 42 43 44
|
objDS.Tables("TERMES").Clear()
objDA = New SqlDataAdapter(strSQLTERMES, objConn)
objDA.Fill(objDS, "TERMES")
n=TreeView1.Nodes.add(strlibelle)
strlibelle est le libellé du terme saisi par l'utilisateur dans un input box
Dim termeexiste as boolean
For Each drTerme In objDS.Tables("TERMES").Rows'on suppose ici que la compparaison entre les deux termes a donné un resultat positif et on en arrive à termeexiste=true
termeexiste = True
' si l'utilisateur dit qu'il souhaite réutiliser le même terme, alors ajouter ce terme avec tous ses spécifiques, en fait créer une nouvelle relation générique/spécifique avec comme générique le nouveau terme situé au-dessus dans l'arborescence
ident_terme_source_g = CType(drTerme.Item("ID_TERME"), Integer)
If MessageBox.Show("Ce terme existe déjà dans la base de données, voulez-vous l'insérer à cet endroit à nouveau avec tous ses termes spécifiques?", "Ajout d'un nouveau terme", MessageBoxButtons.YesNoCancel) = DialogResult.Yes Then
'Avant tout nous devons augmenter de 1 la valeur de TV_LOC1 comme nous l'avons fait pour TV_LOC( je ne vous explique pas le détail mais c'est ainsi qu'on procède)
Dim tmpSQLCommand As String
Dim tmpResetTV_LOC1 As SqlCommand
tmpSQLCommand = "UPDATE GENERIQUES SET TV_LOC1 = TV_LOC1 + 1 WHERE ID_TERME_GENERIQUE = " & iParentID.ToString & " AND TV_LOC1 >= " & n.Index.ToString
tmpResetTV_LOC1 = New SqlCommand(tmpSQLCommand, objConn)
'on ouvre la connexion objConn.Open()
tmpResetTV_LOC1.ExecuteNonQuery()
tmpResetTV_LOC1.Dispose()
' Mettons à jour la table des Generiques
strSQLInsertGeneriqueTermerepete = "INSERT INTO GENERIQUES( ID_TERME_SOURCE_G , ID_TERME_GENERIQUE, TV_LOC1 ) VALUES( " + ident_terme_source_g.ToString + " , " + iParentID.ToString + " , " & n.Index.ToString & " )" objinsertgeneriquetermerepete = New SqlCommand(strSQLInsertGeneriqueTermerepete, objConn)
objinsertgeneriquetermerepete.ExecuteNonQuery()
'on ferme la connexion
objConn.Close()
Exit For
Else 'si l'utilisateur a cliqué sur les touches 'annuler ' ou 'non'
Exit Sub
End If 'fin de If MessageBox.Show("Ce terme existe déjà dans la base de données, voulez-vous l'insérer à cet endroit à nouveau avec tous ses termes spécifiques?", "Ajout d'un nouveau terme", MessageBoxButtons.YesNoCancel) = DialogResult.Yes Then
End If 'fin de If strLibelle.ToLower = CType(drTerme.Item("Lib_TERME"), String) |
Partager