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

Buscar y añadir registros a tabla access

Estas en el tema de Buscar y añadir registros a tabla access en el foro de ASP Clásico en Foros del Web. Saludos a todos: 2 cuestiones. 1. Estoy listando el contenido de una carpeta y quiero comparar cada nombre de fichero encontrado en la carpeta con ...
  #1 (permalink)  
Antiguo 31/03/2004, 12:34
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Buscar y añadir registros a tabla access

Saludos a todos:
2 cuestiones.

1. Estoy listando el contenido de una carpeta y quiero comparar cada nombre de fichero encontrado en la carpeta con los registros de una tabla en access. Si el fichero de la carpeta coincide con el de la tabla compararía el segundo nombre y así sucesivamente; pero si el nombre de fichero encontrado en la carpeta no coincide con el de la tabla entonces lo añade a dicha tabla.
Pero lo que consigo es que siempre me añada todo el contenido de la carpeta a la tabla.
He hecho este codigo pero no me va y no veo por qué, pueden echarle un vistazo?.
----------
For Each Fichero in ObCarpeta.files
Ob_RS.movefirst
response.write fichero.name &"<br>"
do while fichero.name <> Ob_RS("fotonombre")
Ob_RS.addnew
Ob_RS("idusuario")=request.Form("idusuario")
Ob_RS("fotonombre")=fichero.name
Ob_RS.update
loop
Ob_RS.movenext
next
-----------

2. Se puede usar dentro de una sentencia do while o do until un else(obviamente el else no va dentro de un if).
Yo lo he hecho y no me funciona pero no se si es que yo soy tarugo o es que no se puede hacer.
Gracias por todo
  #2 (permalink)  
Antiguo 31/03/2004, 13:17
 
Fecha de Ingreso: marzo-2004
Ubicación: San José, Costa Rica
Mensajes: 234
Antigüedad: 20 años, 1 mes
Puntos: 0
Saludos ciber,

Bueno tu código lo que hace es que va por cada registro y pregunta es este igual a mi foto sino entonces la guardo, entonces guardará datos con cualquier registro que sea diferente al que se esté comparando. (no sé si me explique bien....)

bueno tomé tu codigo y le hice algunas modificaciones, pruebalo y me dices como te va,

Código PHP:

<%  
For 
Each Fichero in ObCarpeta.files
    encontrado 
false
    Ob_RS
.movefirst
    response
.write fichero.name "<br>"
        
        
//'Buscamos si existe en la tabla
        
Do While (NOT encontrado AND NOT Ob_RS.EOF)
            If 
fichero.name Ob_RS("fotonombre"Then
                encontrado 
true
            End 
If
        
Loop
        
        
//'Sino existe agregamos
        
If Not encontrado Then
            Ob_RS
.addnew
            Ob_RS
("idusuario")=request.Form("idusuario")
            
Ob_RS("fotonombre")=fichero.name
            Ob_RS
.update
        End 
If
Next
%> 

Saludos,
  #3 (permalink)  
Antiguo 01/04/2004, 10:53
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Me envía este mensaje de error:


carpeta: galeria
idusuario:
directorio es: ..\images
total es la suma de directorio y carpeta: ..\images\galeria
El directorio de búsqueda es: \galeria
1.jpg

Páginas Active Server error 'ASP 0113'

Tiempo de espera agotado para la secuencia de comandos

/galeriafotos/resultados.asp

Se excedió el tiempo máximo de espera para una secuencia de comandos. Para cambiar este límite especifique un nuevo valor para la propiedad Server.ScriptTimeOut o cambie el valor en las herramientas de administración de IIS.

Probe a aumentar el timeout pero da el mismo error.
Por cierto muchas gracias por todo.
  #4 (permalink)  
Antiguo 01/04/2004, 11:43
 
Fecha de Ingreso: marzo-2004
Ubicación: San José, Costa Rica
Mensajes: 234
Antigüedad: 20 años, 1 mes
Puntos: 0
Perdón....

Se cometí un error en el código aquí está como debería ser espero...

Código PHP:

<%  
For 
Each Fichero in ObCarpeta.files
    encontrado 
false
    Ob_RS
.movefirst
    response
.write fichero.name "<br>"
        
        
//'Buscamos si existe en la tabla
        
Do While (NOT encontrado AND NOT Ob_RS.EOF)
            If 
fichero.name Ob_RS("fotonombre"Then encontrado true
           
//'aquí estaba el error se producía un bucle infinito.... 
           
Ob_RS.movenext
        Loop
        
        
//'Sino existe agregamos
        
If Not encontrado Then
            Ob_RS
.addnew
            Ob_RS
("idusuario")=request.Form("idusuario")
            
Ob_RS("fotonombre")=fichero.name
            Ob_RS
.update
        End 
If
Next
%> 

Prueba con este y nos cuentas como te va.

Saludos
  #5 (permalink)  
Antiguo 01/04/2004, 12:08
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Pues tampoco va. Ahora me da el error:
HTTP 500 - Error interno del servidor
Internet Explorer

O sea que no procesa la pagina
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #6 (permalink)  
Antiguo 01/04/2004, 12:31
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
He encontrado un error en una sentencia if
la he cerrado puesto que le faltaba un end if

de forma que el codigo quedo como sigue:
--------------------
For Each Fichero in ObCarpeta.files
encontrado = false
Ob_RS.movefirst
response.write fichero.name & "<br>"
'Buscamos si existe en la tabla
Do While (NOT encontrado AND NOT Ob_RS.EOF)
If fichero.name = Ob_RS("fotonombre") Then
encontrado = true
'aquí estaba el error se producía un bucle infinito....
Ob_RS.movenext
End if
Loop

'Sino existe agregamos
If Not encontrado Then
Ob_RS.addnew
Ob_RS("idusuario")=request.Form("idusuario")
Ob_RS("fotonombre")=fichero.name
Ob_RS.update
End If
Next

------------------



Pero me sigue dando el mismo error del principio:

carpeta: galeria
idusuario:
directorio es: ..\images
total es la suma de directorio y carpeta: ..\images\galeria
El directorio de búsqueda es: \galeria
1.jpg

Páginas Active Server error 'ASP 0113'

Tiempo de espera agotado para la secuencia de comandos

/galeriafotos/resultados.asp

Se excedió el tiempo máximo de espera para una secuencia de comandos. Para cambiar este límite especifique un nuevo valor para la propiedad Server.ScriptTimeOut o cambie el valor en las herramientas de administración de IIS.

Es que este codigo me tiene muerto... lo juro ;)
__________________

Espero haber aprendido algo de tí.
A mi padre.

Última edición por ciberpata; 01/04/2004 a las 12:32
  #7 (permalink)  
Antiguo 01/04/2004, 12:47
 
Fecha de Ingreso: marzo-2004
Ubicación: San José, Costa Rica
Mensajes: 234
Antigüedad: 20 años, 1 mes
Puntos: 0
He estado revisando el código y no veo el error
esto me suele pasar...


Pero debes mover el End If que acabas de poner despues de está linea

encontrado = true

dejando fuera del If la sentencia que dice:

Ob_RS.movenext

Porque eso es lo que ocasiona el bucle infinito.
  #8 (permalink)  
Antiguo 01/04/2004, 12:53
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Ya funciona bien. Muchas gracias por tu ayuda. No sabes de que apuro me has sacado.
Muchas gracias.
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #9 (permalink)  
Antiguo 01/04/2004, 12:59
 
Fecha de Ingreso: marzo-2004
Ubicación: San José, Costa Rica
Mensajes: 234
Antigüedad: 20 años, 1 mes
Puntos: 0
No problem, pa eso tamos.
  #10 (permalink)  
Antiguo 23/04/2010, 04:18
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Respuesta: Buscar y añadir registros a tabla access

Buenas tardes,

te agradezco de antemano que puedas ayudarme.

Necesito crea un tabla, que se pueda actualizar con regularidad con los ficheros y extensiones de una carpeta en concreto.


Gracias
  #11 (permalink)  
Antiguo 23/04/2010, 10:20
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Buscar y añadir registros a tabla access

No revivas por favor temas viejos con dudas nuevas

Abre un tema nuevo con una descripción clara de tu problema, código que hayas probado, errores, etc.

Este tema se cierra
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:53.