У меня проблема с DataRow, с которой я действительно борюсь.
Строка данных считывается из электронной таблицы Excel с помощью OleDbConnection.
Если я попытаюсь выбрать данные из DataRow, используя имя столбца, он вернет DBNull, даже если там есть данные.
Но все не так просто.
datarow.Table.Columns [5] .ColumnName
возвращает «мой столбец».
datarow [«мой столбец»]
возвращает DBNull.
datarow [5]
возвращает 500.
datarow [datarow.Table.Columns [5] .ColumnName]
возвращает DBNull. (просто чтобы убедиться, что это не опечатка!)
Я мог бы просто выбирать элементы из строки данных, используя номер столбца, но мне не нравится это делать, поскольку, если порядок столбцов изменится, программа сломается.