Bonjour à tous,

Je recherche qques bonnes âmes pour le problème suivant :

ENVIRONNEMENT:------------------
- sous vb 2008 express (sous xp sp2)
- application locale pour test, sans autres utilisateurs concurrentiels
- dans un formulaire avec un dataset typé lié à une table "Archive" sous sql server
- avec une vue datagrid et une vue détails de ce dataset (intégration auto. par l'environnement des classiques : TableAdapterManager, TableAdapter, BindingSource, BindingNavigator)

CONTEXTE:---------------
- j'ai un bouton pour supprimer l'enregistrement courant, sélectionné en cliquant sur une ligne du datagrid

CODE:--------------
Private Sub BtSupprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtSupprimer.Click
Me.Validate()
If ArchiveBindingSource.Count > 0 Then
ArchiveBindingSource.RemoveCurrent()
End If
ArchiveBindingSource.EndEdit()

' Dim sCommand = ArchiveTableAdapter.Adapter.DeleteCommand.CommandText.ToString()

Me.TableAdapterManager.UpdateAll(Me.DSArchives)

End Sub

ERREUR:--------------
- jusqu'à BindingSource.RemoveCurrent() tout va bien... suppression dans le datasource (ligne disparait à l'écran dans le datagrid)
- plantage sur TableAdapterManager.UpdateAll :
>>>> "DBConcurrencyException was unhandled
Violation de l'accès concurrentiel : DeleteCommand a affecté 0 des enregistrements 1 attendus."

J'ai récupéré la chaine de requête SQL par ArchiveTableAdapter.Adapter.DeleteCommand.CommandText.ToString()
dont voici le contenu :

"DELETE FROM [dbo].[Archive]
WHERE (([IDArchive] = @Original_IDArchive)
AND ([CheminArchive] = @Original_CheminArchive)
AND ([TypeArchive] = @Original_TypeArchive)
AND ((@IsNull_AuteurArchive = 1 AND [AuteurArchive] IS NULL) OR ([AuteurArchive] = @Original_AuteurArchive))
AND ([UtilOKArchive] = @Original_UtilOKArchive)
AND ([WebOKArchive] = @Original_WebOKArchive)
AND ([QualiteArchive] = @Original_QualiteArchive)
AND ((@IsNull_DateOriginalArchive = 1 AND [DateOriginalArchive] IS NULL) OR ([DateOriginalArchive] = @Original_DateOriginalArchive))
AND ((@IsNull_LieuOriginalArchive = 1 AND [LieuOriginalArchive] IS NULL) OR ([LieuOriginalArchive] = @Original_LieuOriginalArchive))
AND ((@IsNull_ThematiqueArchive = 1 AND [ThematiqueArchive] IS NULL) OR ([ThematiqueArchive] = @Original_ThematiqueArchive))
AND ((@IsNull_DescGeneraleArchive = 1 AND [DescGeneraleArchive] IS NULL) OR ([DescGeneraleArchive] = @Original_DescGeneraleArchive))
AND ([DateCreationArchive] = @Original_DateCreationArchive)
AND ((@IsNull_UtilCreationArchive = 1 AND [UtilCreationArchive] IS NULL) OR ([UtilCreationArchive] = @Original_UtilCreationArchive))
AND ([DateSuppressionArchive] = @Original_DateSuppressionArchive)
AND ((@IsNull_UtilSuppressionArchive = 1 AND [UtilSuppressionArchive] IS NULL) OR ([UtilSuppressionArchive] = @Original_UtilSuppressionArchive)))"


Une idée svp?
Je précise que je me suis balladé pour trouver la réponse comme un grand, et que j'ai notamment déjà testé sans succès la fait de passer la propriété "DeleteItem" du BindingNavigator à "none", puis également suppression du bouton. En bref, A VOTRE BON COEUR M'SIEURS DAMES !

jh