Salve a tutti. Ho un problema con un DataReader. Questo è il codice in questione, che ritorna un bel
"Riferimento a un oggetto non impostato su un'istanza di oggetto."
alla riga
"logTemp.IdLog = System.Convert.ToInt32(dr["IdLog"]);"
ConnectionStringSettings cs = ConfigurationManager.ConnectionStrings["myConnectionString"];
string connString = cs.ConnectionString;
SqlCommand Command;
SqlConnection Connection = new SqlConnection(connString);
string selectCmd = "SELECT l.* FROM Log_Utente l WHERE l.idlog=" + idLogTemp.ToString();
Command = new SqlCommand(selectCmd, Connection);
Connection.Open();
SqlDataReader dr = Command.ExecuteReader();
Log_Utente logTemp = new Log_Utente();
logTemp = null;
while (dr.Read())
{
logTemp.IdLog = System.Convert.ToInt32(dr["idlog"]);
logTemp.IdUtente = System.Convert.ToInt32(dr["idutente"]);
logTemp.Data = System.Convert.ToDateTime(dr["data"]);
logTemp.Descrizione = dr["descrizione"].ToString();
}
dr.Close();
Connection.Close();
Ho provato a intercettare la "selectCmd" e il risultato è questo:
"SELECT * FROM Log_Utente WHERE idlog=2"
Esequendo la query direttamente sul Managment Studio ho 1 risultato (come c'è da aspettarsi).
Cosa ho sbagliato? Sto impazzendo... Eppure ho fatto copia-incolla da un altro DataReader usato (funzionante alla perfezione) 10 righe prima!
Grazie da ora