Ajouter un enregistrement de BdD avec un binding Navigator
Bonjour,
sur un form, j'ai des textbox et un binding navigator
En mode lecture (mode par défault à l'initialisation), les textforms sont bindés à une table d'une bdD au format SDF (MS SQL Server compact 3.5)
Le BindingNavigator propose un bouton AddNewItem
1ère question : lorsque je clique sur ce bouton alors que j'ai 6 enregistrements, on s'attendrait à voir le PositionItem se positionner à 7/7. En fait il affiche 1/7 (si j'étais sur l'enregistrement n°1 avant de cliquer). Est-ce normal sachant que forcer la propriété Position du CurrencyManager à 7 n'y change rien. Plus largement que faut-il coder dans l'Event AddNewItem.Click a minima ?
En faisant appel à mon intuition, je me suis contenté de coder dans l'Event AddNewItem.Click ceci
Code:
1 2 3
| Private Sub BN_AddNewItem_Click(ByVal sender As System.Object, ByVal e as System.EventArgs) Handles BN_AddNewItem.Click
BN_Enregistrer.Visible= True 'Rend le bouton "enregistrer" visible
EndSub |
Ensuite, je vais à l'enregistrement n°7, j'efface les données de mes champs, et je saisis mon nouvel enregistrement, puis je clique sur le bouton Enregistrer
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Private Sub BN_Enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BN_Enregistrer.Click
Dim Connexion As New SqlCeConnection(My.Settings.CaveConnectionString)
Dim RéférenceActive As Integer
Dim SQL_Ajout As String
SQL_Ajout = "INSERT INTO Table (Champ1, Champ2, Champ3) " & _
"VALUES ('"
TXT_Champ1.Text & "', '" & _
TXT_Champ2.Text & "', '" & _
TXT_Champ3.Text & "') "
Connexion.Open()
Dim commande As New SqlCeCommand(SQL_Ajout, Connexion)
Try
commande.ExecuteNonQuery()
Catch ex As Exception
Finally
Connexion.Close()
End Try
End Sub |
2ème question : A quelques soucis de rafraichissements près, je vérifie que, en apparence dans mon application, mon enregistrement a bien été ajouté.
Pourtant, si je fais "afficher les données de la table" sur la table de mon fichier sdf dans Explorateur de bases de données, je ne retrouve pas mon enregistrement. Où est-il ? Et surtout, si je fais "actualiser", mon enregistrement disparaît dans mon application.
Merci d'avance pour votre aide.