Любой способ узнать, какое TField вызывает EDBClient с сообщением "Требуется значение поля".?

StackOverflow https://stackoverflow.com/questions/1009034

Вопрос

У меня есть один TClientDataSet с несколькими полями, и я получаю это исключение, я уверен, что забыл установить значение одного поля, но вопрос в том, какое поле?

Есть ли какой-нибудь способ быстро выяснить, какое поле вызывает это исключение?

Редактировать

Я решил проблему, я подключал TClientDataSet не к тому провайдеру, у которого было обязательное поле на сервере, но не было этого поля на клиенте.

Но это все равно не отменяет мой вопрос, я потерял много времени, чтобы разобраться в нем, и если бы у меня был какой-то способ узнать, какое обязательное поле на стороне сервера вызывало эту ошибку, я бы очень быстро понял, в чем была моя ошибка.

ПРАВКА 2

Связанные QCS:

#5557 - Решается так, "Как задумано".

#54380 - Открыть

Это было полезно?

Решение

Когда отладчик уведомит вас об исключении, посмотрите на стек вызовов.Перейдите к процедуре, которая выполняет итерацию по списку полей, и проверьте переменную управления циклом в этот момент, чтобы узнать, как далеко продвинулась ваша программа по списку полей, прежде чем вызвать исключение.

Если переменная, управляющая циклом, неверна, установите точку останова в этой процедуре и повторно запустите свою программу.Выполняйте эти действия до тех пор, пока снова не получите исключение.

Другой вариант - просмотреть все поля и самому убедиться, в каком из них отсутствует значение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top