Следующий код:Как я могу упредить попытку назначения DBNull на int?
foreach (DataRow fillRateDataRow in dtFillRateResults.Rows)
{
. . .
var frbdbc = new FillRateByDistributorByCustomer
{
ShortName = fillRateDataRow["ShortName"].ToString(),
Unit = fillRateDataRow["Unit"].ToString(),
CustNumber = fillRateDataRow["Custno"].ToString(),
MemberItemCode = fillRateDataRow["MemberItemCode"].ToString(),
Qty = Convert.ToInt32(fillRateDataRow["Qty"]),
QtyShipped = Convert.ToInt32(fillRateDataRow["QtyShipped"]),
ShipVariance = fillRateDataRow["ShipVariance"].ToString(),
CWeek = fillRateDataRow["CWeek"].ToString(),
PAItemCode = fillRateDataRow["PAItemCode"].ToString(),
PADescription = fillRateDataRow["PADescription"].ToString(),
TransactionType = fillRateDataRow["TransactionType"].ToString(),
SplitCase = fillRateDataRow["SplitCase"].ToString(),
ReasonCode = fillRateDataRow["ReasonCode"].ToString(),
ReasonDescription = fillRateDataRow["ReasonDescription"].ToString(),
CompanyName = fillRateDataRow["CompanyName"].ToString()
};
... терпит неудачу один раз в большое время с "Объект не может быть отлит из DBNull к другим типам исключений. Источник: mscorlib Исключение StackTrace: в System.DBNull. System.IConvertible.ToInt32 (поставщик IFormatProvider) в System.Convert.ToInt32 (значение объекта) "
Таким образом, кажется, что либо Кол-во или QtyShipped иногда DBNull (только ИНТ Vals среди моря струн).
Есть ли способ сказать «если это DBNull, назначить 0 для var» и тем самым избежать исключения?
Я видел ваш полезный редактировать на секунду, а потом, видимо, стерт Риго, который не звезда ... а затем восстановлен TyCobb. Исправляется редактирование! –
@ B.ClayShannon он исправил ошибку компиляции, поэтому, я одобрил его редактирование. Спасибо! – dasblinkenlight