PDA

Visualizza la versione completa : [ Delphi ] Errore DB


piccaweb
15-07-2002, 09:56
Non-blob column in table required to perform operation

Questo é l'errore che mi appare quando attivo la mia tabella!

Ho notato che Delphi, anzi BDE , imposta, in automatico, alcuni campi con attriubuto required a True!
Il campo in questione é di tipo Boolean e in Access non é impostato come Richiesto e ne Indicizzato!
Cambiando manualmente l'attributo Required a false, appena attivo la tabella ritorna a True e mi appare il messaggio di errore!

Come mai?

Grazie
Ciao:ciauz:

alka
15-07-2002, 10:41
Mi sembra strano questo problema. Io ho utilizzato una volta sola il BDE con Microsoft Access (non è il mio formato prediletto per le applicazioni), avevo campi booleani ma non mi sembra di averli mai dovuti compilare esplicitamente. Quale formato hai? 97, 2000, 2002?
Forse l'effetto collaterale è dovuto al fatto che il campo booleano ha necessariamente uno stato, Vero o Falso. Immagino che sebbene non venga specificato, il tuo campo dovrà avere uno di questi valori. Prova ad impostare il Valore predefinito del campo a "No", poi vediamo cosa succede.
Un'altro effetto strano è quello del BDE: probabilmente reimposta la proprietà Required poichè nota la natura del campo, della quale viene informato dal driver "MSACCESS". Usi il Field Editor per impostare i valori delle proprietà?
Per il problema del BLOB, bisognerebbe avere sottomano la struttura in forma semplificata della tabella e vedere quali operazioni tenti di fare sul DataSet.

Ciao! :ciauz:

piccaweb
15-07-2002, 17:44
Io utlizzo in particolare il componente Query per accedere alla tabella.
Il codice SQL é corretto , forse anche perché é molto semplice :
"SELECT * from T_Noleggi ORDER By DataInizio " .
Avevo già provato la combinazione True/False - Vero/Falso - Si/No - 1/0 ma non cambia nulla!

Cosa sarebbe la struttura in forma semplificata della tabella?

Ciao:ciauz:

alka
15-07-2002, 17:48
Con "struttura semplificata" intendevo una breve lista poco dettagliata (solo nome e tipo) dei campi della tabella. E' strano che ti dia un errore in un campo BLOB, che in Access è riproducibile solo inserendo un campo OLE. Hai campi di questo tipo? Se sì, come li gestisci?

piccaweb
15-07-2002, 17:58
Campi di tipo OLE non ne ho assolutamente!
In totale i campi sono 10 di cui 6 numerici , 2 testo e 2 Boolean!
Nessun campo della tabella é richiesto!
Inoltre non c'é nessun record nella tabella , quindi é proprio la struttura fisica della tabella che non funziona oppure il motore BDE ( cosa molto strano ...il resto funziona!)



:ciauz:

alka
15-07-2002, 18:03
Hai usato il driver MSACCESS nativo del BDE?
Prova a creare invece un alias ODBC (dal Pannello di Controllo) e a collegarti a quell'alias con il BDE (utilizzando il driver Microsoft Access Database (*.mdb))...magari le informazioni che ottieni sono più veritiere.

Non mi vengono in mente altre cose per risolvere il tuo problema. :(

Ciao! :ciauz:

piccaweb
15-07-2002, 18:10
Utilizzo già un DSN di Sistema configurato attraverso il pannello di controllo...

Se ti viene in mente qualcosa fammelo sapere!

Grazie
Ciao
:ciauz:

piccaweb
15-07-2002, 18:57
Ho risolto il problema!
Ho inserito dei dati nella tabella e ho rifatto l relazioni Master/Detail...in altre parole ho rifatto tutto!

:ciauz:

alka
15-07-2002, 19:00
Ah, evidentemente avevi fatto qualcosa di strano nella definizione delle relazioni tra le tabelle; forse andavi ad aggiornare o a caricare indirettamente un campo di una tabella esterna, o c'era qualche errata corrispondenza tra la configurazione Delphi dei campi e quella fisica della tabella.

Meglio così!

Ciao! :quote:

piccaweb
15-07-2002, 23:47
Sicruamente avrò fatto qualche errore in precedenza, ma per pura curiosità ho iprovato a cancella l'unico record che avevo inserito e mi ritorna lo stesso errore!
Io faccio un riferimento tra un campo Contatore(master) e uno Integer(detail) e quando quest' ultimo é a zero mi appare l'errore!

Strano!
:ciauz:

Loading