Problème collection VB NET
Bonjour tout le monde,
Je suis actuellement bloqué sur un projet en VB.NET que l'on dit faire pour l'école.
Le projet en quelques mots : Gestion de stocks d'une pharmacie.
Mon problème : Je dois afficher les stocks disponibles dans un datagridview, on a la possibilité d'envoyer un lot de médicament à une personne. Une fenêtre s'affiche alors avec le choix de l'ID du lot, le visiteur et la date (récupération de l'id et du nom du visiteur dans la bdd)
Mais j'aimerai supprimer le lot de ma collection (la modification sur la BDD marche bien) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Public Sub SupprimeLot(ByVal unId As String, ByVal unVisiteur As String, ByVal laDate As Date)
Dim laDateOffre As Date = Now
'Modification
sqlcom = "UPDATE lot_medicament SET LOT_DATEOFFRE = '" & laDateOffre & "' WHERE LOT_ID = '" & unId & "' "
Me.openbdd()
Dim cmd As New MySqlCommand(sqlcom, connexionSql)
cmd.ExecuteNonQuery()
MsgBox("Modification effectuée.")
'Suppression dans la collection
Me.mesLots.RemoveAt(Me.rechercheLot(unId))
sqldr.Close()
End Sub |
j'utilise une fonction qui renvoie l'indice correspondant à l'id dans la collection :
Code:
1 2 3 4 5
| Function rechercheLot(ByVal unId As String) As Integer
Return Me.mesLots.FindIndex(Function(unLot As Lot)
Return unLot.Lot_Id = unId
End Function)
End Function |
Lorsque j'exécute le programme, il fais les modifications mais me met une erreur pour la suppression dans la collection :
L'exception ArgumentOutOfRangeException n'a pas été gérée, l'index était hors limites.
Il trouve bien l'Id mais n'affiche rien dans la collection
Et je bloque sur cette erreur depuis un bon moment, si quelqu'un peut m'apporter une solution je suis preneur :)
Merci !