71 messaggi dal 26 aprile 2004
Ciao a tutti, scusate la domanda forse banale....

Tendando di leggere un campo Memo di MS Access attraverso un OleDbDataReader

string HTMLOut = myReader.GetString(3);

la stringa mi viene troncata a 256 caratteri.

Come è possibile leggere tutto il campo?

Grazie, ciao.
Credo che sia fotto apposta per non scaricare tutti i byte. Prova a leggerlo a chunk usando GetChars. Oppure usa la conversione implicita:
myReader[3].ToString();

Ciao

Il mio blog
Homepage
3.939 messaggi dal 28 gennaio 2003
Access 2003.
Ho caricato un campo memo con 60.000 caratteri.
L'ho letto col reader in tutti i modi possibili, compreso quello usato:

PrintLn(rd.GetString(0).Length) mi dà 60.000

la stringa sql che non contiene l'istruzione Len è:

select [memo] from [campi] where [id]=1
71 messaggi dal 26 aprile 2004
Grazie per le risposte.

@pietro09

Io utilizzo com formato Access 2002

rd.GetString(0).Length mi da sempre 255 come ritorno

@Ricciolo

Utilizzando myReader[3].ToString(); mi ritorna sempre la stringa troncata

pr quanto concerne invece "leggerlo a chunk" sai dove posso trovare un esempio?

Grazie ancora
71 messaggi dal 26 aprile 2004
Ciao a tutti, facendo mente locale la lettura di campi memo l'evevo già fatto in passato per molti siti senza aver alcun problema, quindi ho pensato che fosse la query ad avere qualcosa che "non andava"...

Ho tolto DISTINCT dall'SQL

SELECT DISTINCT ....

è diventato

SELECT ....

ed ora legge tutti i caratteri.

Grazie, ciao.
Modificato da kranio il 18 maggio 2009 10.05 -
Modificato da kranio il 18 maggio 2009 10.05 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.