Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: [ Delphi ] Errore DB

  1. #1
    piccaweb
    Guest

    [ Delphi ] Errore DB

    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

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    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!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    piccaweb
    Guest
    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

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    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?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    piccaweb
    Guest
    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!)




  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    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!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    piccaweb
    Guest
    Utilizzo già un DSN di Sistema configurato attraverso il pannello di controllo...

    Se ti viene in mente qualcosa fammelo sapere!

    Grazie
    Ciao

  8. #8
    piccaweb
    Guest
    Ho risolto il problema!
    Ho inserito dei dati nella tabella e ho rifatto l relazioni Master/Detail...in altre parole ho rifatto tutto!


  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    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:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    piccaweb
    Guest
    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!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.