Pregunta

Soy la creación de un conjunto de datos de cliente basado en ADO, y cuando intento insertar un valor nulo en una TIntegerField, el Mensaje I conseguir Project raised exception class EDatabaseError with message 'Non-nullable column cannot be updated to Null'.

Sé que he visto una manera de establecer un TField como anulable antes, pero no puedo recordar dónde ni cómo. ¿Alguien sabe cómo solucionar este problema?

EDIT:. El campo se establece en Obligatorio = false en tiempo de diseño, y he verificado que todavía es falsa en tiempo de ejecución, pero todavía consigo el error

¿Fue útil?

Solución

¿Ha verificado si el campo dB, lo que representa este campo tener una restricción no nula?

Otros consejos

MyField.Required := False;

A partir de ayuda a Delphi 5:

property Required: Boolean;

pero tenga en cuenta:

property CustomConstraint: String;

También algunos implementación de clases heredadas de TDataSet puede añadir un poco de lógica en su propia ...

No sé si esto ayudará pero suena familiar. comprobar las propiedades de los campos del conjunto de datos de ADO que alimenta los cds. Sé que en d7 los cds toma internamente en la propiedad de sólo lectura del conjunto de datos del proveedor, independientemente de su propio ajuste de sólo lectura. el mismo problema se puede aplicar a la propiedad requerida.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top