Impossible de convertir implicitement le type 'int?' à 'int'.

J'obtiens le message d'erreur "Impossible de convertir implicitement le type 'int?' int'. Une conversion explicite existe (vous manque un plâtre?)" sur mon OrdersPerHour à la ligne de retour. Je ne suis pas sûr pourquoi, parce que mon C# les compétences ne sont pas aussi avancé. Toute aide serait appréciée.

static int OrdersPerHour(string User)
{
    int? OrdersPerHour;
    OleDbConnection conn = new OleDbConnection(strAccessConn);
    DateTime curTime = DateTime.Now;        

    try
    {
        string query = "SELECT COUNT(ControlNumber) FROM Log WHERE DateChanged > #" + curTime.AddHours(-1) + "# AND User = '" + User + "' AND Log.EndStatus in ('Needs Review', 'Check Search', 'Vision Delivery', 'CA Review', '1TSI To Be Delivered');";
        OleDbCommand dbcommand = new OleDbCommand(query, conn);
        dbcommand.Connection.Open();
        dbcommand.CommandType = CommandType.Text;
        OrdersPerHour = (int?)dbcommand.ExecuteScalar();

        Console.WriteLine("Orders per hour for " + User + " is " + OrdersPerHour);            
    }
    catch (OleDbException ex)
    {

    }
    finally
    {
        conn.Close();
    }
    return OrdersPerHour;
}

source d'informationauteur MaylorTaylor | 2013-05-28