Указатель C (всегда) начинается с правильной памяти адресов?
blockquote>No.
Почему этот код работает?
blockquote>Код вызывает неопределенное поведение. Если кажется, что он работает в вашей конкретной системе с вашими опциями компилятора, это просто совпадение.
Для проверки столбца на DBNull в DataSet можно использовать метод IsNull:
if (resultSet.Rows[0].IsNull("fk_id"))
Ваше сравнение с null
вероятно, перестал работать, потому что DataSets не используют null
для представления значения "базы данных NULL" - они используют DBNull. Значение. При необходимости в коде для прокладывания себе путь, Вы представили его, попробуйте это:
if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == DBNull.Value)