Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Campo Memo
giovedì 31 marzo 2005 - 12.19
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
gio 31 mar 2005 - 12:19
Salve,
vengo subito al dunque: ho una tabella in ACCESS contenente tra i campi, unodi tipo "MEMO". Tramite una funzione in VBNET leggo il valore di questo campo. Per leggere uso un datareader del tipo:
Dim OleStr as String
Dim DtReader As System.Data.OleDb.OleDbDataReader
Dim OLECommCim As New OleDb.OleDbCommand()
OleStr = "SELECT DocumentiVoci.Descrizione FROM DocumentiVoci WHERE KeyRiga = 25;"
Me.OLECommCim.CommandText = OleStr
DtReader = OLECommCim.ExecuteReader
OleStr = ""
While DtReader.Read()
OleStr = CType("" & DtReader("Descrizione"), String)
End While
DtReader.Close()
All'interno del campo in questione vi è un testo di lunghezza 856 caratteri. Quando vado a leggere il suo valore, mi viene troncato a 255 caratteri. Come posso fare per evitare questo?
Grazie
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
gio 31 mar 2005 - 13:57
Ciao..non è la funzione CType che ti fa il danno?
Prova a fare il cast di .net, ossia:
OleStr = DtReader("Descrizione").ToString
Dovresti risolvere il problema.
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
gio 31 mar 2005 - 14:38
Ho provato a fare come dici ma non va lo stesso.
Ho provato anche ad usare ADO ma la cosa non va lo stesso. Ho provato a creare anche un dataadapter ma non ci sono piuscito perchè "DocumentiVoci" è una query di unio che al suo interno richiama altre query che a sua volta richiamano altre query.
Non so come fare.
Grazie lo stesso. Ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 31 mar 2005 - 18:14
Ciao,
ho trovato questa soluzione per leggere completamente il campo memo. Bisogna provarla:
dr.Read()
FieldLen = dr.Item(MemoCol).Length
Dim MemoBuffer(FieldLen - 1) As Char
Dim startIndex As Integer = 0
retVal = dr.GetChars(1, startIndex, MemoBuffer, 0, MemoBuffer.Length)
Console.WriteLine(MemoBuffer)
dr.Close()
ciao
david
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !