Я не уверен, почему это происходит. Я видел ту же проблему в Интернете с небольшой помощью, чтобы исправить ее.
Когда я запускаю свой запрос в Access, я получаю разные значения в диапазоне от 0 до 10, но по какой-то причине он не возвращает это же значение внутри моего кода.
static int OrdersPerHour(string User)
{
int? OrdersPerHour = 0;
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;
dbcommand.CommandText = query;
OrdersPerHour = (int?)dbcommand.ExecuteScalar();
}
catch (OleDbException ex)
{
}
finally
{
conn.Close();
}
return OrdersPerHour.Value;
}
Try Catch Finally
? Это просто для того, чтобы гарантировать, что соединение закрыто? Вы должны иметьOleDbConnection
в заявленииusing
. - person Dave Zych   schedule 25.05.2013