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