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
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
I need Help
lunedì 07 novembre 2005 - 17.32
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
SteDotNet
Profilo
| Newbie
3
messaggi | Data Invio:
lun 7 nov 2005 - 17:32
Salve ragazzi, premetto che mi sto avvicinando ora VB.NET quindi mi scuserete se pongo una domanda da "topolone" ....
Sto lavorando su alcune schifosissime tabelle DBF (DB5) e devo aggiornare una serie di campi ...
Il mio problema è relativo ai campi MEMO che in VB ho verificato essere LongVarChar e che, almeno secondo l'help in linea, vengono trattati come campi string. Ho utilizzato ADODB per connettermi.
La stranezza è che:
-se stampo il valore del campo FMEMO sulla console vedo il valore stesso
Console.Write("FMEMO - Value " & rsTec.Fields(idx).Value.ToString
-se invece lo assegno ad una stringa il risultato è una stringa vuota
sqlMacVal = sqlMacVal & "'" & rsTec.Fields(idx).Value.ToString & "', "
rsTec è il mio recordset utilizzato per la lettura. Io sto componendo una stringa SQL (una semplice INSERT) e non riesco a mettere questo maledetto valore nella stringa sqlMacVal.
Se non ricordo male i campi memo hanno la peculiarità di essere campi compattati, devo per caso utilizzare qualche funzione o metodo di conversione particolare?
Vi ringrazio a priori dei vostri eventuali consigli....
Stefano
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 7 nov 2005 - 17:56
>Salve ragazzi, premetto che mi sto avvicinando ora VB.NET quindi
>mi scuserete se pongo una domanda da "topolone" ....
Figurati :)
>Il mio problema è relativo ai campi MEMO che in VB ho verificato
>essere LongVarChar e che, almeno secondo l'help in linea, vengono
>gestite come stringhe
Si è così, si usano quasi sempre le stringhe per qualsiasi tipo di campo testuale.
>rsTec è il mio recordset utilizzato per la lettura. Io sto componendo
>una stringa SQL (una semplice INSERT) e non riesco a mettere
>questo maledetto valore nella stringa sqlMacVal.
Mmh... allora quello che mi viene in mente è provare a verificare che cosa ci sia esattamente nel valore che stai concatenando. Non è che magari ci sono dei caratteri particolari ? Tipo ritorni a capo ecc. ?
Quello che ti consiglio per scovare il problema è andare in debug e con un Quick Watch verificare il contenuto effettivo di .Value successivamente seguire il flusso passo passo per vedere che valori assume via via sqlMacVal.
Per fare la Quitck Watch è molto facile, mentre sei in debug selezionare la variabile, tasto destro sopra la selezione e Quick Watch.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
SteDotNet
Profilo
| Newbie
3
messaggi | Data Invio:
lun 14 nov 2005 - 09:20
Innanzi tutto grazie della tua attenzione David. Mi scuserai se ti rispondo solo ora ma ero in trasferta e sto riprendendo solo ora il problema.
In effetti ci sono dei ritorni a capo nella stringa ed ho la necessità di riportarli pari pari nel campo memo della tabella in cui effettuerò la INSERT. I campi string (se non ho capito male) dovrebbero supportarli, semplicemente li raffigurano come "caratteri sporchi".
Controllando la stringa dopo averla concatenata, vedo però che il risultato è come se avessi concatenato una string pari a "".
Se ti balenassero ulteriori idee sappi che sono bene accette, grazie mille.
Stefano Sozzi
Http://www.punzolaser.it
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 14 nov 2005 - 10:26
>In effetti ci sono dei ritorni a capo nella stringa ed ho la
>necessità di riportarli pari pari nel campo memo della tabella
>in cui effettuerò la INSERT. I campi string (se non ho capito
>male) dovrebbero supportarli, semplicemente li raffigurano come
>"caratteri sporchi".
E' esatto, ci sono \r\n (VbCrLf in VB.NET).
>Se ti balenassero ulteriori idee sappi che sono bene accette,
> grazie mille.
Ciao Stefano,
purtroppo no, non saprei che altro consigliarti oltre che provare ad entrare in debug ma penso che l'hai già fatto. Non avendo il caso sotto'occhio posso solo immaginare cosa potrebbe essere. Puoi fare un altro test e stampare la lunghezza della stringa appena creata per vedere se anche qui ti ritorna zero.
Console.Writeline(stringa.Length.ToString())
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/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 !