Desidero recuperare il valore 1a riga della prima cella dal database funziona correttamente con il codice riportato di seguito. Ma quando non viene trovato alcun risultato, genera Eccezione.Valore restituito utilizzando String risultato = errore Command.ExecuteScalar() si verifica quando il risultato restituisce null
Come gestire con DBNull
.
Devo modificare la mia ricerca? che restituiscono un valore se non c'è nessun record?
System.NullReferenceException: riferimento oggetto non impostato su un'istanza di un oggetto.
Codice:
public string absentDayNo(DateTime sdate, DateTime edate, string idemp)
{
string result="0";
string myQuery="select COUNT(idemp_atd) absentDayNo from td_atd where ";
myQuery +=" absentdate_atd between '"+sdate+"' and '"+edate+" ";
myQuery +=" and idemp_atd='"+idemp+"' group by idemp_atd ";
SqlCommand cmd = new SqlCommand(myQuery, conn);
conn.Open();
//System.NullReferenceException occurs when their is no data/result
string getValue = cmd.ExecuteScalar().ToString();
if (getValue != null)
{
result = getValue.ToString();
}
conn.Close();
return result;
}
Dove lancia un'eccezione ?? –
L'eccezione genera 'string getValue = cmd.ExecuteScalar(). ToString();' l'errore medio si verifica quando il loro non è risultato –
btw, che è un ** ** ** ** pessimo modo di costruire una query; foro di iniezione sql chiaro e evidente; c'è anche un problema di internazionalizzazione e alcune stringhe intermedie non necessarie. Spero che non sia come lo fai sql normalmente ... –