J'ai la méthode suivante qui est utilisée pour remplir un DAO à partir de la base de données. Il effectue 3 lectures - une pour l'objet principal et 2 pour certaines traductions.Problème de requête paramétré C# MySQL
public bool read(string id, MySqlConnection c)
{
MySqlCommand m = new MySqlCommand(readCommand);
m.Parameters.Add(new MySqlParameter("@param1", id));
m.Connection = c;
MySqlDataReader r = m.ExecuteReader();
r.Read();
accountID = Convert.ToInt32(r.GetValue(0).ToString());
...
comment = r.GetValue(8).ToString();
r.Close();
m = new MySqlCommand(getAccountName);
m.Parameters.Add(new MySqlParameter("@param1", accountID));
m.Connection = c;
r = m.ExecuteReader();
r.Read();
account1Name = r.GetValue(0).ToString();
r.Close();
m = new MySqlCommand(getAccountName);
m.Parameters.Add(new MySqlParameter("@param1", secondAccountID));
m.Connection = c;
r = m.ExecuteReader();
r.Read();
account2Name = r.GetValue(0).ToString();
r.Close();
return true;
}
Sur la ligne account2Name = r.GetValue(0).ToString();
je reçois l'erreur suivante:
Invalid attempt to access a field before calling Read()
Je ne comprends pas ce que le problème est - la ligne précédente appelle lecture!
Merci, si évident quand il est souligné! – Elie