16 messaggi dal 10 dicembre 2003
Salve a tutti, ho il seguente problema:
ho un elenco di file in una cartella nominati ognuno con un codice.
I codici li prendo da DB e per ognuno creo un nome di un file.
Devo inserire il contenuto dei file in un campo della tabella da dove ho preso i codici.
Lo script che uso mi restitusce un errore:

Input past end of file
..script.asp, line 29

ECCO LO SCRIPT (in grassetto la linea 29)

Dim strLinea, FileObject, Instream, strFile, intTipo
sql="select distinct codice from TABELLA"
set r=conn.execute(sql)
if not r.eof then
r.movefirst
do while not r.eof
nomefile=trim(r("codice"))
nomefile=nomefile&".txt"
nomefile=trim(nomefile)
strLinea=""
strFile = Server.MapPath("isbntxt/"&nomefile)
intTipo = 1 ' lettura
'creo l'oggetto
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
'apro il file
if FileObject.FileExists(strFile) then
Set InStream = FileObject.OpenTextFile(strFile, intTipo, true)
'leggo tutte le linee
strLinea = InStream.ReadAll()
'inserimento nella tab
strLinea=replace(strLinea,"'","''")
q="update TABELLA set descrizione='"&strLinea&"' where
codice='"&nomefile&"'"
conn.execute(q)
InStream.Close
Set InStream = Nothing
Set FileObject = Nothing
end if
r.movenext
loop
end if



GRAZIE
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao, benvenuto al forum
hai scritto un buon codice, non mi pare ci siano errori.
Prova questo...

Set InStream = FileObject.OpenTextFile(strFile, intTipo)

cioè prova a togliere il ,true finale.
Non ricordo a che serva in caso di lettura del file... boh, quel parametro lo uso solamente in scrittura, per creare il file se non esiste.
Funziona?
Modificato da BrightSoul il 05 maggio 2004 12.27 -

Enjoy learning and just keep making
16 messaggi dal 10 dicembre 2003
No mi da lo stesso errore!!!
11.886 messaggi dal 09 febbraio 2002
Contributi
ah ok, ho verificato:

ti da quell'errore perchè il file esiste, ma è vuoto, cioè non c'è testo dentro.
Usa questa condizione per evitare di leggere testo anche se non c'è:

if not InStream.atEndOfStream then
strLinea = InStream.ReadAll()
else
strLinea = ""
end if

Enjoy learning and just keep making
16 messaggi dal 10 dicembre 2003
Grazie!!!
ORA FUNZIONA.

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.