Italian community of Lazarus and Free Pascal
Programmazione => Databases => Topic aperto da: moessner - Giugno 13, 2021, 01:49:24 pm
-
Ciao a tutti,
vi chiedo aiuto per questo problema.
Uso SQLITE e LINUX MINT.
Ho collegato un database in cui i campi nome e cognome sono definiti TEXT con DBBrowser.
Se li edito con DBBrowser tutto bene me li fa vedere e modificare mentre se uso Lazarus no .
Al posto del valore del campo nome (es mario) mi fa vedere la scritta MEMO per ogni campo.
Sapete dirmi se c'e una soluzione.
Ho provato con due db e uno lo ho generato di sana pianta ma nulla è cambiato.
Ciao a tutti e grazie
Moessner
-
Dimenticavo,
Uso i componenti Zeos Lib ed ho definito il protocollo sqlite-3 nella connessione.
Inoltre ho aperto i vari componenti e li ho collegati ad una DBgrid
Grazie ancora
Moessner
-
Azzardo una risposta veloce in attesa che qualcuno ti risponda più dettagliatamente
Probabilmente stai usando il componente testuale sbagliato.
Il tipo text è multiriga, quindi andrebbe usato un componente di tipo memo e non di tipo edit (che non saprebbe come visualizzare un testo su più linee)
Se invece il campo deve essere visualizzato in una dbgrid, puoi gestire autonomamente la visualizzazione e l'editing della cella, però non è una cosa semplice ed immediata (si deve scendere a basso livello intercettando appositi eventi, prova a vedere OnSelectEditor).
Ti converrebbe gestire la visualizzazione intercettando l'apposito evento e producendo il testo da visualizzare ricavandolo dal campo (mi sembra che sia OnDrawColumnCell), mentre per l'editing potresti mettere dei controlli esterni alla griglia
-
TEXT è per i campi memo e lo puoi anche usare con DBEdit per stringhe meglio usare VARCHAR anche se non lo trovi nelle opzioni lo puoi sempre digitare.
con Zeos
Se è un TEXT devi posizionarti sul campo in Edita campi e devi selezionare ftMemo nel BlobType nell'ispettore oggetti.
per visualizzare/modificare il contenuto del TEXT devi inserire nella form un DBMemo e collegarlo alla Tabella.Nomecampo
questa soluzione è utile anche con una griglia
-
Grazie a tutti per l'aiuto, infatti ho risolto
Moessner