Foros del Web » Programando para Internet » ASP Clásico »

leer un archivo .csv, para luego pasarlo a una base

Estas en el tema de leer un archivo .csv, para luego pasarlo a una base en el foro de ASP Clásico en Foros del Web. hola nuevamente............. porfa ....................... tengo el siguiente codigo <form name="form1" method="POST" action="subirtabla2.asp" enctype="multipart/form-data"> <tr> <td width="30%" class="texto"><input type="radio" name="opcion" value="resultado"> Resultados</td> <td width="25%" class="texto"><input type="radio" ...
  #1 (permalink)  
Antiguo 09/08/2004, 12:37
 
Fecha de Ingreso: septiembre-2003
Mensajes: 265
Antigüedad: 21 años, 7 meses
Puntos: 1
Mensaje leer un archivo .csv, para luego pasarlo a una base

hola nuevamente.............

porfa .......................

tengo el siguiente codigo

<form name="form1" method="POST" action="subirtabla2.asp" enctype="multipart/form-data">
<tr>
<td width="30%" class="texto"><input type="radio" name="opcion" value="resultado">
Resultados</td>
<td width="25%" class="texto"><input type="radio" name="opcion" value="ensayo">
Ensayo </td>
</tr>

<tr align="left" valign="middle">
<td class="texto" width="77">Subir Tabla</td>
<td class="texto" width="6" align="center"><b>:</b></td>
<td class="texto" width="317"><input type="file" name="tabla"></td>
</tr>
<tr>
<td align="center"> <p><br>
<input type="image" border="0" name="ingresar" src="../grafica_tmp/boton_aceptar.gif" width="136" height="20">
</p>
</form>
bueno los archivos que se van a subir son con extension .csv (delimitado por ; )
mi pregunta es como hago para tomar ese archivo por asp para luego tomar lo que tiene en cada linea, e visto varias paginas donde se encuentran programas en los cuales permite subir el archivo al servidor, tambien como leer las lineas del archivo , pero mi duda es esa......ya que necesito que el usuario tome un archivo .csv y luego tomar la primera fila del archivo y ver si los datos que estan en el archivo .csv estan en una base de dato (access), lo e hecho en php, pero en asp me a dado bastante problemas ya que no manejo mucho este lenguaje....

espero que lean este aviso y les pido un poco de ayuda si saben

me despido muchas gracias...........
hasta luego y que la fuerza los acompañe
  #2 (permalink)  
Antiguo 09/08/2004, 13:45
 
Fecha de Ingreso: mayo-2004
Mensajes: 183
Antigüedad: 20 años, 11 meses
Puntos: 0
hola

Ya que el archivo se encuentre en el servidor. Debes hacer lo siguiente:

1. Desglosar el archivo por medio de tokens, yo tengo una funcion que hace esto y te lo separa. No es mia, pero me ayudado bastante.

Function Tokenize(byVal TokenString, byRef TokenSeparators())
Dim NumWords, a()
NumWords = 0

Dim NumSeps
NumSeps = UBound(TokenSeparators)

Do
Dim SepIndex, SepPosition
SepPosition = 0
SepIndex = -1

for i = 0 to NumSeps-1

' Find location of separator in the string
Dim pos
pos = InStr(TokenString, TokenSeparators(i))

' Is the separator present, and is it closest to the beginning of the string?
If pos > 0 and ( (SepPosition = 0) or (pos < SepPosition) ) Then
SepPosition = pos
SepIndex = i
End If

Next

' Did we find any separators?
If SepIndex < 0 Then

' None found - so the token is the remaining string
redim preserve a(NumWords+1)
a(NumWords) = TokenString

Else

' Found a token - pull out the substring
Dim substr
substr = Trim(Left(TokenString, SepPosition-1))

' Add the token to the list
redim preserve a(NumWords+1)
a(NumWords) = substr

' Cutoff the token we just found
Dim TrimPosition
TrimPosition = SepPosition+Len(TokenSeparators(SepIndex))
TokenString = Trim(Mid(TokenString, TrimPosition))

End If

NumWords = NumWords + 1
loop while (SepIndex >= 0)
Tokenize = a
End Function

Te muestro un ejemplo de como pasarle parametros a la funcion.
dim seps(1)
seps(0)=';'
dim linea 'la que lees del archivo
res=Tokenize(linea, seps)
For i=1 to UBound(res)
response.write(res(i)
next
end if

como veras en res(i) se queda ya los campos separados, ahora bien tu debes declarar la consulta, la cual no se como sea.

Última edición por masterboy6666; 09/08/2004 a las 13:47
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:51.