Я получаю сообщение об ошибке «Невозможно неявно преобразовать тип« int »? to 'int'. Явное преобразование существует (вы пропускаете листинг?) "на моем OrdersPerHour на обратной линии. Я не уверен, почему, потому что мои навыки C# не продвинуты. Любая помощь будет оценена по достоинству.Невозможно неявно преобразовать тип 'int?' to 'int'.
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;
}
Теперь я понимаю свою ошибку в этой части. Но после внесения этих изменений я получаю «Пользователь с непризнанной локальной переменной« OrdersPerHour »в обратной линии. – MaylorTaylor
@MaylorTaylor Изменить' int? OrdersPerHour; 'на' int OrdersPerHour = 0; ', должен позаботиться об этом. –
OK что исправил меня, но теперь у меня другая проблема. http://stackoverflow.com/questions/16744510/executescalar-always-returns-0 – MaylorTaylor