Ciao,
questa mattina mi sono svegliato abbastanza incavolato perché é da due giorni che cerco di risolvere un bizzarro problema che mi fa star sveglio fino le 3 di notte.
Premessa : ho aggiunto ad una tabella di un database un nuovo campo "bibò" definito come boolean( in dettaglio : CHAR(1), VALUE = 'T' OR VALUE = 'F', DEFAULT 'F').
Il problema é il seguente:
Quando eseguo l'inserimento di un nuovo record relativo alla tabella in questione mi appare un errore Validation error column "*** null ***" .
1° tentativo
Allora nell'evento OnNewRecord della tabella ho aggiunto una riga di codice che mi permette di definire un valore di default:
codice:
dataset.fieldByName('Bibò').value := 'F'
Nonostante ciò compare lo stesso errore.
2° tentativo
Nella parte di codice che definisce il valore di ogni campo del nuovo record ho aggiunto ancora la riga :
codice:
dataset.fieldByName('Bibò').value := 'F'
Nonostante ciò compare lo stesso errore.
3° tentativo
Per inserire una nuova tupla in una tabella uso la semplice sintassi:
codice:
Dataset.Insert;
dataset.fieldByName('Bibò').value := 'F';
dataset.fieldByName('...').value := ...;
dataset.fieldByName('...').value := ...;
dataset.fieldByName('...').value := ...;
Dataset.Post;
e ho pensato ad uno strano ed insolito errore nel metodo Insert, ovvero nel fatto di isnerire uno per volta il valore di ogni campo.
Ho sostituito il codice sopra con:
Dataset.AppendRecord(['F', ..., ..., ..., ...)];
Nonostante ciò compare lo stesso errore.
4° tentativo
A questo punto, esausto e inca....to, ho pensato di tagliare la testa al toro usando una query di inserimento.
Quindi ho creato un nuovo componente e ho scritto codice SQL per l'inserimento di un nuovo record.
Ma appare sempre lo stesso errore:
Validation error column "*** null ***"
Non é la prima volta che mi capita un errore del genere e ho sempre risolto il tutto usando il primo tentativo.
Aiutatemi perché non ce la faccio proprio più!