Salut à toutes et à tous,
Soit ceci :
1 2 3 4 5 6 7 8 9 10 11 12
| /// <summary>
/// Recherche dans le DataSet les lignes opposées à la ligne sélectionnée
/// </summary>
/// <param name="ligneRow">Ligne dont on cherche les lignes opposées</param>
/// <param name="dataSet">DataSet dans lequel on cherche les lignes opposées</param>
/// <returns>Lignes opposées</returns>
public DataSetParcelles.LigneRow[] GetOpposedLines(DataSetParcelles.LigneRow ligneRow, DataSetParcelles dataSet)
{
if (dataSet == null || dataSet.Ligne == null || string.IsNullOrEmpty(ligneRow.NumeroPoint1) || string.IsNullOrEmpty(ligneRow.NumeroPoint2))
return null;
return (DataSetParcelles.LigneRow[])dataSet.Ligne.DefaultView.Table.Select(string.Format("NumeroPoint1 = '{0}' AND NumeroPoint2 = '{1}'", ligneRow.NumeroPoint2, ligneRow.NumeroPoint1));
} |
Elle me retourne parfois (de manière qui semble aléatoire, mais est-ce réellement aléatoire ?) l'erreur
"L'exception ArgumentException n'a pas été gérée par le code utilisateur
Min (15101) doit être inférieur ou égal à max (-1) dans un objet Range."
sur la ligne
return (DataSetParcelles.LigneRow[])dataSet.Ligne.DefaultView.Table.Select(string.Format("NumeroPoint1 = '{0}' AND NumeroPoint2 = '{1}'", ligneRow.NumeroPoint2, ligneRow.NumeroPoint1));
or le select de la table devrait bien retourner une ligne.
Si je ferme l'application et la redémarre, cette ligne passe sans problème, et après un certains temps, elle finira par me retourner cette erreur avec d'autres valeurs, qui passeront aussi si je redémarre l'application.
Je veux bien gérer l'erreur, mais pour la gérer il faudrait avant tout que je la comprenne, ce qui pour le moment est loin d'être le cas. Donc actuellement le ne sais pas comment, ni où la gérer.
Si qqn comprend d'où ça peut venir, je vous remercie de vos z'avis z'avisés.
JM
Partager