В любом случае, вы можете сократить свой код, используя следующий прием:
chkdt.Parameters.Add("@userName", SqlDbType.VarChar, 32).Value = username;
chkdt.Parameters.Add("@password", SqlDbType.VarChar, 250).Value = password;
chkdt.Parameters.Add("@location", SqlDbType.VarChar, 50).Value = locat;
И не читайте устройство чтения данных дважды:
DateTime? dt = reader["ExpiryDate"] as DateTime?; // if column has DateTime-compatible type
if (dt.HasValue)
{
}
else
{
}
И закройте устройство чтения данных.Еще лучше обернуть все в блок (ы) использования:
using (SqlConnection conn = ...)
using (SqlCommand chkdt = ...)
{
...
using (SqlDataReder reader = ...)
{
...
}
}