Importazione file .csv in vb

giovedì 21 ottobre 2004 - 16.10

tvbpro Profilo | Newbie

Ciao! Devo importare un file .csv in un tabella, quindi lo apro tramite un recordset usando la seguente istruzione:

rcdText.Open "SELECT * FROM cambi.csv", adoText, adOpenStatic, adLockReadOnly, adCmdText

Il mio problema è che uno dei campi separati dalla virgola è un valore di cambio con il punto decimale, per esempio:

"AFGHANISTAN,Afghani,AFA,115,57.7980,Quantitàdivalutaper1euro,63"

in questo caso il valore di cambio che dovrei estrarre è 57,7980
Il problema è che quando leggo il file tramite il recordset il campo che va a leggere è 577980, ignorando il punto.

Come posso ovviare questo problema?

Aiutatemi!!!

trinity Profilo | Guru

Dovresti poi formattare il valore solo che i dati hanno sempre allo stesso posto la virgola?

Ciao
Fabio

tvbpro Profilo | Newbie

no, il problema è che in qualche modo, quando leggo il file attraverso il recordset, il sistema riconosce quel campo come numero e trovando il "." lo interpreta come separatore di migliaia e quindi pernde il valore come un intero. Purtroppo non so se ci sia un modo per dirgli che deve leggere il campo come stringa e non come numero.
Comunque ho risolto alla vecchia maniera, leggendo il file in maniera sequenziale e estraendo i campi separati da virgole... è molto più oneroso a livello di codice, ma funziona!

Se conosci qualche metodo più "fico" fammelo sapere...

Grazie per l'aiuto!

trinity Profilo | Guru

Io proprio per il motivo dell'euro, utilizzo nel database i campi string, in modo tale che mi accettano sia il punto separatore delle migliaia che la virgola..

Ciao
Fabio
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5