У меня есть DataView, который уже создан. Я создал новую DataTable из существующего DataView и сделал эти данные DataView для экспорта в XlSX. Я пытаюсь проверить и посмотреть, есть ли в последнем столбце целое число больше 0. Если это так, следует удалить строку. Поскольку это два разных типа, так как один является объектом, а другой - двойным, это не так просто, как я думал.
Я рассмотрел ответ на вопросе Оператор '<' нельзя применить коперанды типа 'object' и 'int' </a>
В большинстве случаев это было бы сделано, однако где-то он возвращает DBNull.Value, как указано. Если я пытаюсь выполнить синтаксический анализ, мне это, похоже, не понравится, и он не будет построен.
private DataView CreateExhaustionDataView()
{
DataTable dt = BuildFufillmentDataTable();
DataView dv = new DataView(dt, "", "Department,Date", DataViewRowState.CurrentRows);
DataTable result = dv.ToTable(true,"Department","Date","Remaining");
var dr = result.NewRow();
if (Convert.ToDouble(dr["Remaining"]) >= 0.0)
{
dr.Delete();
}
DataView dvresult = new DataView(result);
return dvresult;
}
Я получаю это сообщение об ошибке при попытке преобразовать:
System.InvalidCastException: «Объект не может быть приведен из DBNull к другим типам.»Я получаю эту ошибку только при экспорте данных. Насколько разбора это не строит вообще.
Любые советы или маршруты, которые я пропустил, я был бы очень признателен!