Как контролировать есть ли поле для базы данных и имеют логическое значение - PullRequest
0 голосов
/ 06 марта 2020

Я проанализировал свои значения следующим образом

Id = Convert.ToInt32(fields[0]);
Email = fields[1].ToString();
Gid = fields[2].ToString();
SapCompanyCode = fields[3].ToString();
FirstName = fields[4].ToString();
LastName = fields[5].ToString();
FullName = string.Join(" ", FirstName, LastName);
CostCenterName = fields[6].ToString();
ManagerEmployeeID = Convert.ToInt32(fields[7]);
ScdDept = fields[8].ToString();
LeaveDate = fields[9] is DBNull ? DateTime.MaxValue : DateTime.Parse(fields[9].ToString());
//StartDate = DateTime.ParseExact(fields[10].ToString(), Definitions.LongDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None);
StartDate = DateTime.Parse(fields[10].ToString());
ContractType = fields[11].ToString();
MonthlyWorkingDay = Convert.ToInt32(fields[12]);
Status = Convert.ToInt32(fields[13]);
LastUpdateTime = DateTime.Parse(fields[14].ToString());
IsSupportStaff = fields[17] is DBNull ? false : Convert.ToBoolean(fields[17]);

У меня есть 2 таблицы A и B в SQL. Обновление таблицы каждый день из таблицы B. Все они используют одни и те же объекты. (из IsSupportStaff и Valid to ValidTo в таблице A IsSupportStaff в таблице B. Я проанализировал это значение в том же классе Employee cs, но у меня есть одна проблема. При запуске кода произошла ошибка. Неправильное приведение из DateTime в Boolean IsSupportStaff значение является логическим значением, а Допустимое значение - значением DateTime. Поля 15 ожидают Допустимое значение и дают ошибку

Неверное приведение из DateTime к логическому

Как можно Я решаю эту проблему?

...