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

Ayuda por favor con Galería de imagenes - No se por qué no funciona

Estas en el tema de Ayuda por favor con Galería de imagenes - No se por qué no funciona en el foro de ASP Clásico en Foros del Web. hola a todos: Estoy haciendo una galería de imagenes y he diseñado un formulario para que la persona que se encargue de introducir las imagenes ...
  #1 (permalink)  
Antiguo 29/03/2004, 12:01
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años
Puntos: 0
Ayuda por favor con Galería de imagenes - No se por qué no funciona

hola a todos:
Estoy haciendo una galería de imagenes y he diseñado un formulario para que la persona que se encargue de introducir las imagenes dentro de la galería solo tenga que introducir el nombre de la carpeta donde se encuentran dichas imagenes y el id de usuario.
Las imagenes se encuentran siempre en cualquier carpeta que cuelgue de /images.
El formulario es: formulario.asp

Este formulario envia los resultados a resultados.asp, que se encarga de añadir el nombre del fichero que hay en la carpeta introducida en el formulrio a una base de datos en access. Si el nombre del fichero ya existe en la tabla de access entonces compara el siguiente nombre de fichero y si no existe lo añade a la tabla access.
Pero el problema es que siempre me añade los ficheros aunque estén ya previamente introducidos en la tabla con la consiguiente duplicidad.
El problema está en esta rutina pero cansado ya de buscar no lo veo....
-----------------
For Each Fichero in ObCarpeta.files
Ob_RS.movefirst
response.write fichero.name &"<br>"
do while fichero.name = Ob_RS("fotonombre")
Ob_RS.movenext
else
Ob_RS.addnew
Ob_RS("idusuario")=request.Form("idusuario")
Ob_RS("fotonombre")=fichero.name
Ob_RS.update
Ob_RS.movelast
Ob_RS.movenext
loop
next

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

Les paso el codigo completo de las paginas y de la tabla access por si les sirve de algo:

Pagina formulario.asp
-----------------------------
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="resultados.asp">
En que carpeta est&aacute;n los ficheros a incluir:
<input name="carpeta" type="text" id="carpeta" size="20" maxlength="20">
<br>
ID Usuario:
<input name="idusuario" type="text" id="idusuario" size="5" maxlength="5">
<br>
<input type="submit" name="Submit" value="Enviar">
<input type="reset" name="Submit2" value="Restablecer">
</form>
</body>
</html>
---------------------------------


pagina resultados.asp

--------------------------
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<!--Incluimos el fichero de constantes-->
<!--#INCLUDE file="../adovbs.asp"-->

<%
dim carpeta, idusuario, mensaje
carpeta=request.form("carpeta")
idusuario=request.form("idusuario")
mensaje= "EL FORMULARIO ESTA VACIO"

if carpeta <> "" or idusuario <> "" then
'Variable "Directorio" para poder cambiar la carpeta de busqueda según el contenido de la variable
dim directorioraiz
dim total

directorioraiz="..\images"
total= directorioraiz & "\" & carpeta
'Para saber el contenido de los campos del formulario
response.Write "carpeta: " & request.form("carpeta") & "<br>"
response.Write "idusuario: " & request.form("idusuario") & "<br>"


response.Write "directorio es: " & directorioraiz & "<br>"
'response.Write "ruta es el contenido del campo form: " & ruta & "<br>"
response.Write "total es la suma de directorio y carpeta: " & total & "<br>"
'Crea el objeto FSO
Set ObFSO=Server.CreateObject("scripting.FileSystemObj ect")

'Crea el objeto carpeta y selecciona la carpeta en la que estan los archivos
Set ObCarpeta= ObFSO.getfolder(Server.MapPath(total))

'Nos muestra el nombre de nuestra carpeta en la web
response.Write "El directorio de búsqueda es: " & "\" & ObCarpeta.name &"<br>"

'Para conexión a dsn arsys con ACCESS
set Ob_Conn= Server.CreateObject("ADODB.Connection")
Ob_Conn.ConnectionString = "DSN=clubviajesoferta.com.skiviajes"
Ob_Conn.open
Set Ob_RS=Server.CreateObject("ADODB.Recordset")
Ob_RS.activeconnection=Ob_Conn
Ob_RS.source="galeriafotos"
Ob_RS.Locktype = adLockOptimistic
Ob_RS.CursorType = adOpenDinamic
Ob_RS.open
'Termina aquí la conexion a dsn arsys con ACCESS

'Busca todos los archivos de la carpeta y nos devuelve el nombre del fichero
For Each Fichero in ObCarpeta.files
Ob_RS.movefirst
response.write fichero.name &"<br>"
do while fichero.name = Ob_RS("fotonombre")
Ob_RS.movenext
else
Ob_RS.addnew
Ob_RS("idusuario")=request.Form("idusuario")
Ob_RS("fotonombre")=fichero.name
Ob_RS.update
Ob_RS.movelast
Ob_RS.movenext
loop
next
Ob_RS.close
Ob_Conn.close
Set Fichero = Nothing
Set ObCarpeta = Nothing
Set ObFSO= Nothing
else
response.write(mensaje)
end if
%>
<body>

</body>
</html>
-----------------------

Tabla access "galeriafotos":
-----------------------
id -------------------------- Autonumerico
fotonombre -------------- 20 (texto)
fotoportada -------------- 2 (texto)
orientacion --------------- 1 (texto)
fototexto ----------------- 50 (texto)
fotocarpeta -------------- 50 (texto)
idusuario ----------------- 5 (texto)
---------------------

Gracias por ayudarme puesto que me es bastante urgente y yo no soy capaz de ver el error.
Seguro que será una chorrada pero es que no lo veo, disculpenme por mi ceguera.
Gracias a todos.

Última edición por ciberpata; 30/03/2004 a las 04:44
  #2 (permalink)  
Antiguo 30/03/2004, 11:27
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años
Puntos: 0
Por favor.... ayudenme lo necesito de verdad
__________________

Espero haber aprendido algo de tí.
A mi padre.
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 21:34.