J'ai le code suivant :
// personCount = 7291; correct value
int personCount = (int)new OleDbCommand("SELECT COUNT(*) AS [count] FROM [Individual]", _access).ExecuteScalar();
List<Person> people = new List<Person>();
OleDbCommand personQuery = new OleDbCommand("SELECT * FROM [Individual]", _access);
using (OleDbDataReader personReader = personQuery.ExecuteReader())
{
int curPerson;
while (personReader.Read())
{
curPerson++;
// This runs several times
if (personReader.IsDBNull(0)) continue;
// [snip] create a new Person and add it to people
}
// at this point, curPerson == 7291 but the list is empty.
}
Voici mon code exact. Le champ 0 est la clé primaire, et ne devrait donc jamais être nul, mais chaque ligne renvoyée par la base de données a tous les champs à la valeur DBNull ! Je ne vois pas ce que je fais de mal, quelqu'un peut-il m'éclairer ?
Ma chaîne de connexion est la suivante
Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\path\to\database.mdb