Bonjour les gars, je suis avec un problème que j'ai besoin de vérifier si un objet DataTableReader a plus de résultats sur la prochaine fois que j'appelle Read()
fonction. Mon code est comme ça:DataTableReader vérifier si avoir le résultat suivant C#
DataTable workTable = new DataTable();
workTable.Columns.Add("1");
workTable.Columns.Add("2");
DataRow workRow;
for (int i = 0; i <= 9; i++)
{
workRow = workTable.NewRow();
workRow[0] = i;
workRow[1] = "CustName" + i.ToString();
workTable.Rows.Add(workRow);
}
var test2 = workTable.CreateDataReader();
while (test2.Read())
{
Debug.WriteLine(test2[1]);
//I need to know if the test2 instance Read function
//will return false next time I call it without move the current
//cursor..
Debug.WriteLine("Have next?: "+ test2.HasNextResult()); //something like that, of some workaround...
}
Y at-il de toute façon de le faire ?? Juste pour vous les gars, je le fais parce que je me moque (pour le test d'unité) d'un objet d'ensemble d'enregistrement COM qui a la propriété EOF
et la méthode MoveNext
. Le EOF
vérifie si la ligne actuelle est vide et la méthode MoveNext
déplace le curseur en cours vers l'enregistrement suivant, et j'utilise une instance de DataTableReader
pour remplacer ces opérations.
Cette solution ne fonctionne pas. Juste passé à travers une fois, puis laissé l'instruction 'do {} while'. La méthode 'NextResult' a renvoyé false, mais j'ai ajouté 9 éléments (comme le code le montre dans la description de ma question) –