Newsgroup: it.comp.lang.delphi
Titolo: SQLite e Delphi - errori di visualizzazione dati in TDBGrid

Ciao a tutti,
premessoo che mi sto affacciando ora a SQLite, ho qualche problema "di base" durante la visualizzazione dei dati in una DBGrid con CDS + SQLDataSet + DataSetProvider + DataSource; la mia tabella è composta da tre campi VARCHAR e due CURRENCY. Se nel Fields Editor non definisco nessun Field e se la tabella del DB è vuota, all'interno della DBGrid mi trovo la prima riga con la scritta (WideMemo) per ogni colonna. Se da Fields Editor definisco tutti i campi in automatico, quando popolo la tabella mi da errore di Field Type mismatch perchè si aspetta il WideMemo (così come lo rileva delphi da Fields editor) quando in realta i dati contengono i valori nel formato corretto (VARCHAR e CURRENCY). Mi da l'impressione che non rilevi correttamente il tipo del campo.
 
Ho provato anche a definire i tipi a runtime usando il codice:
 
with ClientDataSetListino do
    begin
    with TWideStringField.Create(Self) do
      begin
        Name := 'Codice';
        FieldKind := fkData;
        FieldName := 'Codice';
        Size := 255;
        DataSet := ClientDataSetListino;
      end; //FieldName
    with TCurrencyField.Create(Self) do
      begin
        Name := 'Prezzo';
        FieldKind := fkData;
        FieldName := 'Prezzo';
        DataSet := ClientDataSetListino;
      end; //Last Name
      ClientDataSetListino.CreateDataSet;
    end;
 
Ma quando visualizzo la DBGrid non compare alcun dato e il bottone di refresh della DBNavigator risulta attivo; cliccando poi sul bottone per fare il refresh mi compare l'errore Trying to append data to a non-partial dataset.
 
E' evidente che mi sfugge qualcosa ma nonostante abbia cercato in lungo e in largo su google non sono riuscito a capire come risolvere.
 
Qualcuno può darmi una mano per cortesia?
Grazie

 Mi da l'impressione che non rilevi correttamente il tipo del campo.
 
Che versione di delphi usi? A parte cio', che driver dbx usi?
Hai fatto una prova usando una diversa tecnologia tipo ADO?
Se si, con quali risultati?
 
 
A.


 premessoo che mi sto affacciando ora a SQLite, ho qualche problema "di base" 
 
Ciao,
non serve ad aiutarti, ma visto che ti stai affacciando a SQLite, forse 
può interessarti questo 
http://blog.synopse.info/
 
saluti
 
-- 
Emanuele Desideri
 
 

 Emanuele Desideri
 

Spero di non postare due volte..comunque:
I campi li definisco sul CDS e la versione di delphi è la XE3.
Non so che versione siano i driver dbx ma sono quelli forniti con XE3.
Con ADO non ho fatto prove (se non sbaglio l'unico modo sarebbe tramite ODBC, corretto?) ma ho fatto una prova in FMX e funziona perfettamente (oltre a gestirmi correttamente i FieldType non vedo la scritta WideMemo nei campi della StringGrid); può essere una questione di driver dbx? Oppure è qualcosa che dipende dalla TDBGrid?
 
Grazie


La tdbgrid non è in grado di mostrare dei campi memo.
Prova a mettere 2 dbedit ed un tdmmemo e vedi cosa succede.
Riguardo ADO non posso darti alcuna dritta in quanto non ho mai usato SqlLite.
Curioso il fatto che con FMX il casino non capita....
 
A.